原因: 快速切换时,数据返回时间不能把控。可能之前的请求比之后的请求返回慢,造成数据错误。
处理: 多次切换,取消未返回的接口。直接使用最后一次接口返回的数据。
1、jquery代码-取消指定未返回的接口
var _this = thisif (_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 )