【发布时间】:2020-07-30 11:20:59
【问题描述】:
在 ReactJS 项目中,我设置了一个全局 Axios 拦截器来处理 401 错误并重定向到登录页面。如果服务器返回 401 错误,这将按预期工作。
//global interceptor for handling 401 (invalid token) response.
axios.interceptors.response.use(
function (response) {
console.log("Axios defaut interceptor");
return response;
},
function (error) {
if (401 === error.response.status) {
alert(
"Your session has expired. You will be redirected to the login page."
);
window.location = "/login";
} else {
return Promise.reject(error);
}
}
);
问题是从主页类组件的constructor()方法发送了多个GET请求。这会导致多次显示警报消息。
处理错误并仅重定向到登录页面一次的最佳方法是什么?
【问题讨论】: