js主动请求中断

文章讲述了在应用中遇到的用户快速切换Tab时,由于数据返回时间不确定导致的数据混乱问题。为了解决这个问题,文中提出了两种解决方案:一是使用jQuery的Ajax方法,通过判断并取消未返回的接口请求,确保使用最新的数据;二是结合React和fetch,利用AbortController来取消所有之前的未完成请求,保证数据的正确性。
摘要由CSDN通过智能技术生成

应用场景:快速切换tab,数据混乱

原因: 快速切换时,数据返回时间不能把控。可能之前的请求比之后的请求返回慢,造成数据错误。

处理: 多次切换,取消未返回的接口。直接使用最后一次接口返回的数据。

1、jquery代码-取消指定未返回的接口

            var _this = this
            if (_this.GetMeasdTriggerListXhr != null) {
                _this.GetMeasdTriggerListXhr.abort();
            }
            _this.GetMeasdTriggerListXhr = $.ajax({
                type: "Post",
                url: "/xxx",
                data: options,

            });

2、react+fetch-取消当前操作之前所有的未返回的接口

window.controller = new AbortController();
window.signal = window.controller.signal;
  if (window ?.controller ?.signal ?.aborted) {
    window.controller = new AbortController();
    window.signal = window.controller.signal;
  }

headers = {
      Authorization: loginInfo && loginInfo.token ? loginInfo.token : null,  
};

return fetch(url, headers )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值