axios拦截器
axios相关
axios拦截器
在响应进行then和catch前进行拦截,可以根据状态码进行区分,对2xx的状态码做处理A,对其他范围的状态码做处理B 例子:
axios.interceptors.response.use(function (response) {
// console.log('axios.interceptors.response', response)
//2xx的状态码触发这里的逻辑
if(xxxx){
localStorage.removeItem('token')
sessionStorage.removeItem('taskCache)
eventBus.emit('tokenExpired', {pathname: location.pathname})
}
}
return response
}, function (error) {
//不是2xx范围的状态码触发这里的逻辑
console.log('axios.interceptors.response error', error)
return Promise.reject(error);
})
也可以在请求发出前进行拦截 例子:
axios.interceptors.request.use(function (config) {
// Do something before request is sent
return config;
}, function (error) {
// Do something with request error
return Promise.reject(error);
});