Axios拦截器的错误处理程序在以下情况下被调用:
请求发生错误时:当请求无法发送到服务器时,例如网络错误或请求超时,错误处理程序将被调用。
服务器返回错误状态码时:当服务器返回一个错误状态码(例如4xx或5xx),错误处理程序将被调用。
以下是一个示例代码,演示如何在Axios拦截器中处理错误:
import axios from 'axios';
// 创建一个Axios实例
const instance = axios.create();
// 添加请求拦截器
instance.interceptors.request.use(
function(config) {
// 在请求发送之前做一些处理
return config;
},
function(error) {
// 请求发生错误时的处理
console.log('请求发生错误:', error);
return Promise.reject(error);
}
);
// 添加响应拦截器
instance.interceptors.response.use(
function(response) {
// 在接收到响应数据之前做一些处理
return response;
},
function(error) {
// 服务器返回错误状态码时的处理
console.log('服务器返回错误:', error);
return Promise.reject(error);
}
);
// 发送请求
instance.get('https://api.example.com/data')
.then(function(response) {
// 处理成功响应
console.log('成功响应:', response.data);
})
.catch(function(error) {
// 处理错误响应
console.log('错误响应:', error);
});
在上述代码中,我们创建了一个Axios实例instance,并添加了请求拦截器和响应拦截器。在这些拦截器的错误处理程序中,我们可以进行自定义的错误处理逻辑。