axios二次封装怎么做的
时间: 2024-03-05 19:46:07 浏览: 68
axios是一个基于Promise的HTTP客户端,用于发送HTTP请求。二次封装axios可以根据项目需求进行定制化配置,方便统一管理和处理请求和响应。
以下是一种常见的axios二次封装的方式:
1. 创建一个axios实例:
```javascript
import axios from 'axios';
const instance = axios.create({
baseURL: 'http://api.example.com', // 设置请求的基础URL
timeout: 5000, // 设置请求超时时间
headers: {
'Content-Type': 'application/json' // 设置请求头
}
});
export default instance;
```
2. 封装请求方法:
```javascript
import instance from './axiosInstance';
export function get(url, params) {
return instance.get(url, { params });
}
export function post(url, data) {
return instance.post(url, data);
}
// 其他请求方法类似,如put、delete等
```
3. 添加请求拦截器和响应拦截器:
```javascript
import instance from './axiosInstance';
// 请求拦截器
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);
}
);
```
通过以上步骤,我们就完成了axios的二次封装。在项目中使用时,只需要引入封装后的请求方法,即可发送请求并处理响应。
阅读全文