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

相关推荐
csbysj20201 分钟前
传输对象模式(Object Transfer Pattern)
开发语言
步达硬件2 分钟前
【Matlab】把视频里每一帧存为单独的图片
开发语言·matlab·音视频
心柠5 分钟前
webpack
前端·webpack·node.js
C澒5 分钟前
前端编码规范
前端·团队开发·代码规范
黎雁·泠崖6 分钟前
Java字符串API:String/StringBuffer/StringBuilder详解
java·开发语言
上海合宙LuatOS10 分钟前
LuatOS socket基础知识和应用开发
开发语言·人工智能·单片机·嵌入式硬件·物联网·开源·php
凯子坚持 c11 分钟前
Qt常用控件指南(6)
开发语言·qt
少控科技14 分钟前
QT第三个程序 - 表达式计算器
开发语言·qt
轩情吖15 分钟前
Qt容器类控件之QGroupBox与QTabWidget
开发语言·c++·qt·qgroupbox·qtabwidget·桌面级开发
摘星编程16 分钟前
OpenHarmony环境下React Native:自定义useDarkMode深色模式
javascript·react native·react.js