axios 最常用的功能之一,拦截器
axios.interceptors.response.use(
response => {
let {data: json} = response
let resp = json
if(resp.code === 200) return resp;
thrownew Error(resp.msg)
},
error => {
return Promise.reject(error)
}
},
)
在后台返回数据后,检测状态码为 200 ,则返回数据,否则,抛出异常
另外一个功能,取消请求,以下来自官方
var CancelToke = axios.CancelToken;
var source = CancelToken.source();
axios.get(‘/user/12345‘, {
cancelToken:source.toke
}).catch(function(thrown){
if(axiso.isCancel(thrown)){
console.log(‘Rquest canceled‘, thrown.message);
}else{
//handle error }
});
//取消请求(信息参数设可设置的)
source.cancel("操作被用户取消");
或者给 CancelToken 构造函数传递一个executor function来创建一个cancel token
var CancelToken = axios.CancelToken;
var cancel;
axios.get(‘/user/12345‘, {
cancelToken: new CancelToken(function executor(c){
//这个executor 函数接受一个cancel function作为参数
cancel = c;
})
});
//取消请求
cancel();
//多数情况,我们封装的方法都是通过 export 输出,
//所以 cancel 我们也可以通过 export 输出,这样就可以在主业务中随时调用
export { cancel }
原文:https://www.cnblogs.com/_error/p/9089728.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!