axios进行请求的重发,请求/响应拦截,Token刷新
请求拦截
// 进行请求的拦截
axios.interceptors.request.use(
// 正常拦截
request => {
// doSomethings
},
// 发生错误
error => {
// error handle
});
响应拦截
// 进行响应的拦截
axios.interceptors.response.use(
// 正常拦截
response => {
// doSomethings
},
// 发生错误
error => {
// error handle
});
刷新Token并重发请求
例如:在响应中需要进行Token的校验,失效后进行Token的刷新并重发请求
请求重发的注意点是,使用响应里的config
作为参数进行重发
axios.interceptors.response.use(
response => {
// 判断是否需要Token刷新
if (...) {
// 刷新Token(可以使用同步操作)
...
// 将新的Token设置到axios的默认请求头
axios.defaults.headers.common['token'] = newToken;
// 将新的Token设置到重发的请求头
response.config.headers.token = newToken;
// 请求重发
return axios.request(response.config);
}
});
还没有评论,来说两句吧...