项目问题及报错

多次异步请求,结果接口返回不同顺序的问题

2022-06-23  本文已影响0人  前端末晨曦吖

点击打开视频讲解:https://www.bilibili.com/video/BV1pV4y177gx/?vd_source=66e2692cc471862d6c3f85dc4b9ea5dd

问题描述

搜索框进行搜索的时候,可能会先请求的数据在页面上覆盖掉后请求的数据,这就导致检索内容与当前检索关键字不一致

例如:发送3次请求,有可能第3条请求最先发送,第1条请求最晚发送。而返回时间却是反过来的:第一条最先返回结果;

异步请求返回顺序依赖网络,无法控制,所以每次请求的时长不一致,也就是不能保证请求返回顺序。

解决方案:

有的人直接使用ajax的同步模式就好了,但这样做就失去了ajax的意义了,而且用户体验也不好。

在前端定义一个全局变量,记录请求次数的标识符,并把这个标识符带上传给后端,在ajax的回调中也返回过来,
判断全局变量的值是否等于该标识符,如果等于就肯定是最后一次发起的请求,然后再渲染页面。
上一篇 下一篇

猜你喜欢

热点阅读