如何实现axios错误信息拦截
步骤概览
步骤 | 操作 |
---|---|
1 | 创建axios实例 |
2 | 设置拦截器 |
3 | 处理错误信息 |
4 | 返回处理后的数据或错误 |
操作指南
步骤1: 创建axios实例
在项目中引入axios,并创建一个axios实例,这样我们可以对这个实例进行配置,包括拦截器的设置。
// 引入axios
import axios from 'axios';
// 创建axios实例
const instance = axios.create({
baseURL: '
timeout: 10000, // 请求超时时间
});
步骤2: 设置拦截器
在axios实例中设置请求拦截器和响应拦截器,这样我们可以在请求发送和接收过程中进行一些处理。
// 请求拦截器
instance.interceptors.request.use(
(config) => {
// 在请求发送之前做一些处理
return config;
},
(error) => {
return Promise.reject(error);
}
);
// 响应拦截器
instance.interceptors.response.use(
(response) => {
// 在接收到响应后做一些处理
return response.data;
},
(error) => {
return Promise.reject(error);
}
);
步骤3: 处理错误信息
在响应拦截器中,我们可以对错误信息进行处理,比如统一弹出错误提示,记录日志等。
// 响应拦截器
instance.interceptors.response.use(
(response) => {
// 在接收到响应后做一些处理
return response.data;
},
(error) => {
// 处理错误信息
if (error.response) {
// 请求已发出,但服务器响应的状态码不在 2xx 范围内
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else {
// 请求超时或者网络问题
console.log('Error', error.message);
}
return Promise.reject(error);
}
);
步骤4: 返回处理后的数据或错误
最后,记得在请求接口的地方使用我们创建的axios实例,并处理返回的数据或错误信息。
// 发送请求
instance.get('/user')
.then((res) => {
// 处理成功响应的数据
})
.catch((error) => {
// 处理错误信息
});
通过以上步骤,我们就成功实现了axios错误信息拦截的功能。希望以上信息能够帮助到你,如果有任何问题,欢迎随时向我提问。
结尾
通过以上步骤,你已经学会如何实现axios错误信息的拦截。在实际开发中,合理设置拦截器可以帮助我们更好地处理接口请求过程中的异常情况,提高用户体验,保证系统稳定性。希望你能够在今后的项目中熟练运用这些技巧,如果有任何疑问,欢迎随时向我咨询。加油!