技术

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);
  });