diff --git a/src/utils/request.ts b/src/utils/request.ts index 3f89b54dc28497e17140321309ef95e01d4cf3de..f9d6b7bba8d7e0ddd7cb6a2260a780ba4637f7ea 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -14,9 +14,21 @@ const service = axios.create({ }, }); +const requestMap=new Map(); // 请求拦截器 service.interceptors.request.use( (config: InternalAxiosRequestConfig) => { + + const controller = new AbortController(); + const key = config.data + config.url; + config.signal = controller.signal; + if (requestMap.has(key)) { + requestMap.get(key).abort(); + requestMap.delete(key); + } else { + requestMap.set(key, controller); + } + const accessToken = localStorage.getItem(TOKEN_KEY); if (accessToken) { config.headers.Authorization = accessToken;