ToB企服应用市场:ToB评测及商务社交产业平台
标题:
使用 Axios 处理 AxiosError 的三种常见方法
[打印本页]
作者:
种地
时间:
2024-6-21 13:10
标题:
使用 Axios 处理 AxiosError 的三种常见方法
在使用 Axios 时处理 AxiosError 有几种常见的方法:
使用 try-catch 语句捕捉异常:
try {
const response = await axios.get('/api/data');
// 处理响应数据
} catch (error) {
if (error.response) {
// 请求成功但状态码不在 2xx 范围
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else if (error.request) {
// 请求发出但没有收到响应
console.log(error.request);
} else {
// 在设置请求时发生了错误
console.log('Error', error.message);
}
}
复制代码
使用 Axios 实例的 interceptors 拦截器:
const instance = axios.create();
instance.interceptors.response.use(
(response) => {
// 处理成功响应
return response;
},
(error) => {
// 处理错误响应
if (error.response) {
// 请求成功但状态码不在 2xx 范围
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else if (error.request) {
// 请求发出但没有收到响应
console.log(error.request);
} else {
// 在设置请求时发生了错误
console.log('Error', error.message);
}
return Promise.reject(error);
}
);
复制代码
使用 axios.isAxiosError() 判定错误是否来自 Axios:
axios.get('/api/data')
.then((response) => {
// 处理响应数据
})
.catch((error) => {
if (axios.isAxiosError(error)) {
// 处理 AxiosError
if (error.response) {
// 请求成功但状态码不在 2xx 范围
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else if (error.request) {
// 请求发出但没有收到响应
console.log(error.request);
} else {
// 在设置请求时发生了错误
console.log('Error', error.message);
}
} else {
// 处理其他类型的错误
console.log('Error', error);
}
});
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4