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() 方法来取消所有未完成的请求。

相关推荐
逊嘘9 分钟前
【Java语言】抽象类与接口
java·开发语言·jvm
Half-up11 分钟前
C语言心型代码解析
c语言·开发语言
别拿曾经看以后~18 分钟前
【el-form】记一例好用的el-input输入框回车调接口和el-button按钮防重点击
javascript·vue.js·elementui
我要洋人死21 分钟前
导航栏及下拉菜单的实现
前端·css·css3
川石课堂软件测试24 分钟前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
科技探秘人33 分钟前
Chrome与火狐哪个浏览器的隐私追踪功能更好
前端·chrome
Source.Liu33 分钟前
【用Rust写CAD】第二章 第四节 函数
开发语言·rust
monkey_meng33 分钟前
【Rust中的迭代器】
开发语言·后端·rust
科技探秘人33 分钟前
Chrome与傲游浏览器性能与功能的深度对比
前端·chrome
余衫马36 分钟前
Rust-Trait 特征编程
开发语言·后端·rust