axios 拦截封装
时间: 2023-10-09 16:13:30 浏览: 94
拦截器是axios中非常重要的功能之一,它允许我们在发送请求或响应之前对其进行拦截和处理。拦截器可以用来在请求发送前添加公共的请求头、请求超时处理、错误处理以及对响应数据进行统一处理等等。
在axios中,我们可以使用`axios.interceptors`来添加拦截器。具体的拦截器有两种类型,一种是请求拦截器,另一种是响应拦截器。
1. 请求拦截器:
请求拦截器可以在发送请求之前对请求进行处理,比如添加公共的请求头。你可以使用`axios.interceptors.request.use()`方法来添加请求拦截器。下面是一个示例代码:
```
axios.interceptors.request.use(config => {
// 在发送请求之前做些什么
config.headers.Authorization = 'Bearer ' + getToken(); // 添加请求头
return config;
}, error => {
// 对请求错误做些什么
return Promise.reject(error);
});
```
2. 响应拦截器:
响应拦截器可以在接收到响应之后对其进行处理,比如对响应数据进行统一处理或者错误处理。你可以使用`axios.interceptors.response.use()`方法来添加响应拦截器。下面是一个示例代码:
```
axios.interceptors.response.use(response => {
// 对响应数据做些什么
if (response.data.code !== 200) {
Message.error(response.data.message); // 统一处理错误信息
}
return response;
}, error => {
// 对响应错误做些什么
return Promise.reject(error);
});
```
以上就是axios拦截器的基本使用方法。通过使用拦截器,我们可以对请求和响应进行全局的处理,提高代码的复用性和可维护性。
阅读全文