初始化接口过慢 重复请求时导致数据渲染出错问题

46 阅读1分钟

bug描述

用户xxx,筛选23级,班级滚动条滚着滚着出现了所有班级

原因:

image.png 初始化时会查所有班级数据,但班级数据量过大查询时间较长,此时查2023的数据,2023的数据比初始化数据响应的更快,然后半分钟后初始化数据响应完成,导致初始化数据把2023的数据给冲掉了

解决:

image.png

将获取班级的请求给存起来,每次请求完成后给清掉,如果未请求完成则取消ajax请求,开始新的请求。

之前这种情况也跟后端提了个 前端维护一个flag变量,每次请求时加一个flag参数,后端再将这个falg原封不动返回来,只有当该flag匹配上时才进行渲染数据。