axios使用拦截器统一处理所有的http请求的方法
axios使用拦截器
在请求或响应被then或catch处理前拦截它们。
httprequest拦截器
//添加请求拦截器
axios.interceptors.request.use(function(config){
//在发送请求之前做些什么
returnconfig;
},function(error){
//对请求错误做些什么
returnPromise.reject(error);
});
httprespones拦截器
//添加响应拦截器
axios.interceptors.response.use(function(response){
//对响应数据做点什么
returnresponse;
},function(error){
//对响应错误做点什么
returnPromise.reject(error);
});
移除拦截器
varmyInterceptor=axios.interceptors.request.use(function(){/*...*/});
axios.interceptors.request.eject(myInterceptor);
为自定义axios实例添加拦截器
varinstance=axios.create();
instance.interceptors.request.use(function(){/*...*/});
PS:下面看下axios拦截器使用
importaxiosfrom'axios'//axios引用
importstorefrom'../../store'//store引用
constserivce=axios.create({//创建服务
baseURL:'http://test.api.rujiaowang.net',//基础路径
timeout:5000//请求延时
})
serivce.interceptors.request.use(//请求拦截
config=>{
if(store.getters.userToken){
config.headers['X-Token']=store.getters.userToken
config.headers['User-Type']=store.getters.userType?store.getters.userType:''//请求头中存放用户信息
config.onUploadProgress=(progressEvent)=>{
varcomplete=(progressEvent.loaded/progressEvent.total*100|0)+'%'
store.dispatch('setupLoadPercent',complete)
}
}
returnconfig
},
error=>{
returnPromise.reject(error)
}
)
serivce.interceptors.response.use(//回复拦截,主要针对部分回掉数据状态码进行处理
response=>{
returnresponse
},
error=>{
returnPromise.reject(error)
}
)
exportdefaultserivce
总结
以上所述是小编给大家介绍的axios使用拦截器统一处理所有的http请求的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短