axios 报错处理
时间: 2024-01-17 14:19:09 浏览: 29
以下是处理axios报错的方法:
1. 全局错误处理:
```javascript
axios.interceptors.response.use(response => {
// 请求成功时的处理逻辑
return response;
}, error => {
// 请求失败时的处理逻辑
console.error('请求失败:', error);
// 可以根据错误类型进行不同的处理
if (error.response) {
// 请求已发出,但服务器响应状态码不在 2xx 范围内
console.error('响应状态码:', error.response.status);
} else if (error.request) {
// 请求已发出,但没有收到响应
console.error('没有收到响应');
} else {
// 在设置请求时触发错误,或者在发送请求时触发错误
console.error('请求错误:', error.message);
}
return Promise.reject(error);
});
```
2. 请求取消:
```javascript
// 创建一个取消令牌
const CancelToken = axios.CancelToken;
let cancel;
// 发起请求时,传入取消令牌
axios.get('/api/data', {
cancelToken: new CancelToken(function executor(c) {
// 保存取消函数
cancel = c;
})
}).then(response => {
// 请求成功的处理逻辑
}).catch(error => {
// 请求失败的处理逻辑
if (axios.isCancel(error)) {
// 请求被取消的处理逻辑
console.log('请求被取消');
} else {
// 其他错误的处理逻辑
console.error('请求错误:', error.message);
}
});
// 取消请求
cancel();
```