請求攔截
// 進行請求的攔截
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);
}
});