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() 方法来取消所有未完成的请求。文章来源地址https://www.toymoban.com/news/detail-759188.html
文章来源:https://www.toymoban.com/news/detail-759188.html
到了这里,关于axios全局封装取消请求,你可以创建一个 Axios 实例,并为该实例配置默认的 CancelToken的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!