我如何在axios拦截器中取消Promise(Promise.reject不捕获)

时间:2020-07-02 06:10:10

标签: javascript api vue.js axios interceptor

我想通过axios拦截器处理任何api错误。但是,仅返回Promise.reject(错误)而不捕获,则出现错误:“未捕获的异常:对象” 拦截器.js:

axios.interceptors.response.use(function (response) {
 return response.data;
}, function (error) {
 if (error.response.status === 401) {
    window.location.replace("/login");
}
return Promise.reject(error.response);
});

call.js

return axios.get("/users")
.then(data => {
  return data.users;
})
.then(users => {
  this.isTableLoading = false;
  this.bodyData = users;
  });

我尝试过:

  • 仅在具有以下条件的拦截器中添加1个全局捕获:
    • Promise.resolve(error)返回错误:“ TypeError:数据未定义”;
    • 新的Promise(()=> {})工作正常,但这很丑...

有一个很好的解决方案吗?

0 个答案:

没有答案