vue Promise
时间: 2023-08-15 10:14:27 浏览: 92
前端Vue日常工作中-Promise
Vue使用Promise封装Axios可以提高代码的可读性和可维护性。具体实现方法如下:
1. 在Vue项目中安装axios和es6-promise:
```
npm install axios es6-promise --save
```
2. 在项目中创建一个api.js文件,用于封装axios请求:
```
import axios from 'axios';
import Promise from 'es6-promise';
// 创建axios实例
const service = axios.create({
baseURL: process.env.BASE_API, // api的base_url
timeout: 500 // 请求超时时间
});
// request拦截器
service.interceptors.request.use(config => {
// 在发送请求之前做些什么
return config;
}, error => {
// 对请求错误做些什么
Promise.reject(error);
});
// respone拦截器
service.interceptors.response.use(
response => {
// 对响应数据做些事情
return response.data;
},
error => {
// 对响应错误做些什么
return Promise.reject(error);
}
);
export default service;
```
3. 在需要使用axios的地方,引入api.js文件,并使用Promise封装axios请求:
```
import api from '@/api';
export function getUserInfo() {
return new Promise((resolve, reject) => {
api.get('/user/info').then(response => {
resolve(response);
}).catch(error => {
reject(error);
});
});
}
```
这样,就可以在Vue项目中使用Promise封装Axios请求了。
阅读全文