好用的axios 二次封装代码
时间: 2023-10-13 14:17:03 浏览: 117
以下是一个基本的axios二次封装代码:
```javascript
import axios from 'axios';
const service = axios.create({
baseURL: process.env.VUE_APP_API_BASE_URL,
timeout: 10000,
});
service.interceptors.request.use(
(config) => {
// 在请求发送之前做一些处理
return config;
},
(error) => {
// 对请求错误做一些处理
return Promise.reject(error);
}
);
service.interceptors.response.use(
(response) => {
// 对响应数据做一些处理
return response;
},
(error) => {
// 对响应错误做一些处理
return Promise.reject(error);
}
);
export default service;
```
上面的代码创建了一个名为service的axios实例,并添加了请求和响应拦截器。请求拦截器可以在请求发送之前做一些处理,比如添加请求头或者修改请求数据。响应拦截器可以在接收到响应之后做一些处理,比如对响应数据进行格式化或者错误处理。
在Vue项目中使用该axios实例的示例如下:
```javascript
import service from '@/utils/request';
service.get('/user').then((response) => {
console.log(response.data);
}).catch((error) => {
console.log(error);
});
```
在以上示例中,我们可以直接使用service实例来发送请求,并通过then和catch方法分别处理成功和失败的情况。
阅读全文