答案 0 :(得分:5)
我找到了解决方案
由于在axios拦截器中没有返回承诺而引起的问题:
axios.interceptors.response.use((response) => {
return response;
}, (error) => {
if (!error.response) {
alert('NETWORK ERROR')
} else {
const code = error.response.status
const response = error.response.data
const originalRequest = error.config;
if (code === 401 && !originalRequest._retry) {
originalRequest._retry = true
auth.commit('logout');
window.location.href = "/login";
}
return Promise.reject(error)
}
});
添加return Promise.reject(error)
就像魅力一样
答案 1 :(得分:0)
这是旧版本Axios中有意提供的。
从v0.11开始, validateStatus
已添加到配置中。我们可以使用此选项来指定有效的状态码范围。默认情况下,有效代码为> = 200和<300。
validateStatus: function (status) {
return status >= 200 && status < 300; // default
},
参考:https://github.com/axios/axios/issues/41#issuecomment-215100137