axios全局封装取消请求,你可以创建一个 Axios 实例,并为该实例配置默认的 CancelToken

js 复制代码
import axios from 'axios';  
  
// Axios 的 CancelToken  
const CancelToken = axios.CancelToken;  
  
// 创建一个 Axios 实例  
const instance = axios.create();  
  
// 用于存储所有的 cancel 函数  
const pendingRequests = new Set();  
  
// 添加请求配置  
instance.interceptors.request.use(config => {  
  // 为每个请求创建一个新的 cancelSource  
  const cancelSource = CancelToken.source();  
  pendingRequests.add(cancelSource.cancel);  
  config.cancelToken = cancelSource.token;  
  return config;  
});  
  
// 提供一个取消所有请求的方法  
instance.cancelAll = () => {  
  pendingRequests.forEach(cancel => cancel());  
  pendingRequests.clear();  
};  
  
export default instance;

可以在你的应用中使用这个封装过的 Axios 实例,并通过调用 instance.cancelAll() 方法来取消所有未完成的请求。

相关推荐
SleepyZone8 分钟前
Cline 源码浅析 - 从输入到输出
前端·ai编程·cline
Bruce_Liuxiaowei11 分钟前
PHP文件包含漏洞详解:原理、利用与防御
开发语言·网络安全·php·文件包含
Struggler28111 分钟前
pinia-基于monorepo的项目结构管理
前端
Struggler28116 分钟前
SSE的使用
前端
泽020221 分钟前
C++之STL--list
开发语言·c++·list
用户58061393930022 分钟前
前端文件下载实现深度解析:Blob与ObjectURL的完美协作
前端
YGGP24 分钟前
吃透 Golang 基础:数据结构之 Map
开发语言·数据结构·golang
Lin866625 分钟前
Vue 3 + TypeScript 组件类型推断失败问题完整解决方案
前端
coding随想25 分钟前
从零开始:前端开发者的SEO优化入门与实战
前端
~plus~26 分钟前
Harmony核心:动态方法修补与.NET游戏Mod开发
开发语言·jvm·经验分享·后端·程序人生·c#