重复的异步请求,只需要最后一次的请求结果生效

  • 摘要:方法是我从网上找的,只是记录下来方便以后查看

应用场景:一个复用的请求价格的弹窗,弹窗启动时进行价格查询,用户可以点击商品询价,当用户在几个商品上连续询价,连续的请求因为请求的时长不同,可能会导致展示效果有BUG,而我们只需要最后一个请求有效果

我们只需要最后一个请求生效,这样我们就在请求结果中进行判断,只有最后一个请求才会执行请求成功后的内容

let requestList = []; // 用来存储请求

let ret = await checkPrice(); // checkPrice是封装的请求函数
requestList.push(ret);

ret.then(() => {
  if(ret === requestList[requestList.length - 1]){
    alert("我是最后一个请求");
  }
  requestList = []; // 最后清空存储
});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。