使用fetch时,连续请求同一个接口,只取最后一个接口结果,其他取消

33 阅读1分钟

let abortController = null;

export const cancellableGet = (url, data, options) => { // 如果已经存在一个未完成的请求,取消它 if (abortController) { abortController.abort(); }

// 创建新的 AbortController
abortController = new AbortController();
const signal = abortController.signal;

// 合并传入的 options 和 signal
const newOptions = {
    ...options,
    signal,
};

return request(url, 'get', data, newOptions);

};