axios拦截器为什么会出错?

写了一个处理错误在拦截器中:

axios.interceptors.response.use(

response => {

if (response.status != 200) {

console.warn(

response.data.msg || `请求${response.request.toString()}错误`

);

return;

} else {

return response.data;

}

},

error => {

console.warn(`请求错误:${error}`);

return Promise.reject(error);

}

);

但是正常的请求也会进入error中

用postman测试是好的

这是为什么?如何解决

回答

没有更改Promise 状态 ,返回一个成功的Promise

Promise 里抛出异常了,当然就会被 Promise.catch 捕获啊。

我举几个可能会抛异常的地方,你看下你处理了没:

image.png

if (response.status != 200) {

console.warn(

response.data.msg || `请求${response.request.toString()}错误`

);

return;

} else {

return response.data;

}

你这里是请求成功了,然后return,结果underfined.你应该是return Promise.reject(response)

以上是 axios拦截器为什么会出错? 的全部内容, 来源链接: utcz.com/a/49821.html

回到顶部