axios终止请求
axios终止之前的所有请求1.在请求拦截器中的config对象添加cancelToken参数// 将正在发起的请求存到数组中let reqList = (Vue.prototype.pending = []);// 构建axios实例const cancelToken = axios.CancelToken;const source = cancelToken.source();const in
·
axios终止之前的所有请求
1.在请求拦截器中的config对象添加cancelToken参数
// 将正在发起的请求存到数组中
let reqList = (Vue.prototype.pending = []);
// 构建axios实例
const cancelToken = axios.CancelToken;
const source = cancelToken.source();
const instance = axios.create();
instance.interceptors.request.use(
(config) => {
config.cancelToken = new cancelToken((c) => {
// 这里的C是一个函数,用于终止请求的作用
// 这里的ajax标识我是用请求地址&请求方式拼接的字符串,当然你可以选择其他的一些方式
reqList.push({ f: c });
// }
});
// -----------------------------------------------------------------------------------------
return config;
},
(error) => {
return Promise.reject(error);
}
);
Vue.prototype.$axios = instance;
//终止请求具体使用 请求之前调用该方法
removePending(errorMessage) {
const errorMsg = errorMessage || "cancelRequest----取消请求默认信息";
for (let i = this.pending.length - 1; i >= 0; i--) {
this.pending[i].f(errorMsg); //执行取消操作
this.pending.splice(i, 1); //把这条记录从数组中移除
}
},
更多推荐


所有评论(0)