我遇到了一个问题,interceptors.response 正在发送一个 post 请求,但是带有在请求标头中设置的 accessToken。为什么它没有在响应中被覆盖?
// Request
axios.interceptors.request.use(
(config) => {
if (accessToken) {
config.headers["Authorization"] = `Bearer ${accessToken}`;
}
return config;
},
(error) => {
Promise.reject(error);
}
);
// Response
axios.interceptors.response.use(
(response) => {
return response;
},
function (error) {
const originalRequest = error.config;
if (
refreshToken &&
error.response.status === 401 &&
!originalRequest._retry
) {
originalRequest._retry = true;
return axios
.post(
`${baseUrl}/auth/token`,
{ },
{
// Not changing. Sending the accessToken instead
headers: {
Authorization: `Bearer ${refreshToken}`,
},
}
)
.then((res) => {
if (res.status === 200 ) {
console.log("Access token refreshed!");
return axios(originalRequest);
}
});
}
return Promise.reject(error);
}
);