import axios from'axios';// Axios 的 CancelToken const CancelToken = axios.CancelToken;// 创建一个 Axios 实例 const instance = axios.create();// 用于存储所有的 cancel 函数 const pendingRequests =newSet();// 添加请求配置
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();};exportdefault instance;
可以在你的应用中使用这个封装过的 Axios 实例,并通过调用 instance.cancelAll() 方法来取消所有未完成的请求。
本文转载自: https://blog.csdn.net/adley_app/article/details/134971774
版权归原作者 AdleyTales 所有, 如有侵权,请联系我们删除。
版权归原作者 AdleyTales 所有, 如有侵权,请联系我们删除。