应用场景:快速切换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 )