axios全局封装取消请求,你可以创建一个 Axios 实例,并为该实例配置默认的 CancelToken
2023-12-13 15:43:49
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://blog.csdn.net/adley_app/article/details/134971774
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!