CancelToken是一个构造函数;接收一个回调函数最为参数;
isCancel 方法判断cancel方法是否调用;
const {CancelToken,isCancel}=axios;
let cancel
axios.interceptors.request.use((config)=>{
if(cancel){ cancel('用户取消了请求') } //cancel方法接收一个message参数
config.cancelToken=new CancelToken((c)=>{
cancel=c //将回调函数赋值给cancel变量
})
return config //必须返回
})
axios.interceptors.response.use(
response=>{
return response.data;
},
error=>{
if(isCancel(error)){ //用户取消了请求
console.log(error.message)
}else{
console.log(error)
}
return new Promise(()=>{}) //请求错误要返回中断一下
}
)
网友评论