axios请求拦截器封装
时间: 2023-08-05 08:02:29 浏览: 109
在使用 Axios 发起请求时,可以通过拦截器来对请求进行统一的处理和封装。下面是一个关于 Axios 请求拦截器的封装示例:
```javascript
import axios from 'axios';
// 创建一个 Axios 实例
const instance = axios.create({
baseURL: 'https://api.example.com', // 设置基础URL
timeout: 5000, // 设置请求超时时间
});
// 请求拦截器
instance.interceptors.request.use(
config => {
// 在发送请求之前做些什么
// 可以在这里设置请求头、添加 token 等
return config;
},
error => {
// 对请求错误做些什么
return Promise.reject(error);
}
);
// 响应拦截器
instance.interceptors.response.use(
response => {
// 对响应数据做些什么
return response.data;
},
error => {
// 对响应错误做些什么
return Promise.reject(error);
}
);
export default instance;
```
在上面的代码中,我们创建了一个名为 `instance` 的 Axios 实例,并设置了基础 URL 和超时时间。然后通过 `instance.interceptors.request.use` 方法添加了请求拦截器,通过 `instance.interceptors.response.use` 方法添加了响应拦截器。
在请求拦截器中,我们可以对请求配置进行修改,例如添加请求头或者设置 token。在响应拦截器中,我们可以对响应数据进行处理,例如提取出需要的数据。
这样的封装可以使得请求的处理逻辑更加清晰和统一,方便在多个请求中共享相同的配置和处理逻辑。
阅读全文