二次封装一个axios并设置拦截器
时间: 2023-08-14 16:14:35 浏览: 103
好的,我可以帮你二次封装一个axios并设置拦截器。下面是一个示例代码:
```javascript
import axios from 'axios';
const instance = axios.create({
// 设置基本的请求配置,例如 baseURL, headers等
baseURL: 'https://api.example.com',
timeout: 5000,
headers: {
'Content-Type': 'application/json',
},
});
// 请求拦截器
instance.interceptors.request.use(
(config) => {
// 在发送请求之前做一些处理,例如添加认证信息、修改请求头等
// config.headers.Authorization = 'Bearer token';
return config;
},
(error) => {
// 错误处理
return Promise.reject(error);
}
);
// 响应拦截器
instance.interceptors.response.use(
(response) => {
// 对响应数据做一些处理,例如解析返回的数据
return response.data;
},
(error) => {
// 错误处理
return Promise.reject(error);
}
);
export default instance;
```
在上面的示例中,我们使用axios.create方法创建了一个axios实例,并设置了一些基本的请求配置。然后,我们通过instance.interceptors.request.use方法添加了一个请求拦截器,在发送请求之前可以对请求进行一些处理,例如添加认证信息。接着,我们通过instance.interceptors.response.use方法添加了一个响应拦截器,在接收到响应之后可以对响应数据进行一些处理,例如解析返回的数据。
你可以根据自己的需求修改和扩展这些拦截器的逻辑。希望对你有帮助!如果有任何问题,请随时提问。
阅读全文