axios请求拦截器如何做全局异常捕获
时间: 2023-10-25 07:23:12 浏览: 181
可以在axios的请求拦截器中增加一个全局异常捕获的处理,示例代码如下:
```javascript
import axios from 'axios';
axios.interceptors.request.use(
config => {
// 在请求发送之前做一些处理
return config;
},
error => {
// 对请求错误做些什么
return Promise.reject(error);
}
);
axios.interceptors.response.use(
response => {
// 对响应数据做些什么
return response;
},
error => {
// 对响应错误做些什么
if (error.response) {
// 如果有响应数据,返回错误信息
return Promise.reject(error.response.data);
} else if (error.request) {
// 如果没有响应数据,返回请求错误信息
return Promise.reject(error.request);
} else {
// 其他错误信息
return Promise.reject(error.message);
}
}
);
```
在这个例子中,我们在请求拦截器中增加了一个错误处理函数,它会在请求出错时抛出一个错误,抛出的错误会在后面的代码中被捕获并处理。如果请求成功,我们会返回响应数据,否则会返回错误信息。这样我们就可以在全局捕获到所有请求的异常了。
阅读全文