使用promise二次封装axios
时间: 2023-10-17 22:19:15 浏览: 126
以下是使用 Promise 二次封装 axios 的示例代码:
```javascript
import axios from 'axios';
function request(url, method = 'get', data = null) {
return new Promise((resolve, reject) => {
axios({
url,
method,
data
}).then(response => {
resolve(response.data);
}).catch(error => {
reject(error);
});
});
}
export default {
get: (url, data) => request(url, 'get', data),
post: (url, data) => request(url, 'post', data),
put: (url, data) => request(url, 'put', data),
delete: (url, data) => request(url, 'delete', data)
};
```
使用示例:
```javascript
import http from './http';
http.get('/api/user/1')
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
```
在这个示例中,我们将 axios 封装在一个名为 request 的函数中,并返回一个 Promise 对象。然后,我们使用该函数来创建一个新的对象,该对象包含四个方法:get、post、put 和 delete。每个方法接收两个参数:URL 和数据。这些方法会自动调用 request 函数,并返回 Promise 对象。这样,我们就可以使用 Promise 的 then 和 catch 方法来处理请求的响应和错误。
阅读全文