请用promise实现一个二次封装api接口
时间: 2024-05-11 10:18:11 浏览: 8
好的,假设我们要封装一个获取用户信息的API接口,我们可以这样使用Promise进行二次封装:
```javascript
function getUserInfo(userId) {
return new Promise((resolve, reject) => {
// 发送API请求获取用户信息
fetch(`/api/user/${userId}`)
.then(response => {
if (response.ok) {
return response.json();
} else {
reject(new Error(`API请求失败,状态码为 ${response.status}`));
}
})
.then(data => {
resolve(data);
})
.catch(error => {
reject(error);
});
});
}
```
这个封装可以让我们更方便地使用这个API接口,以及更好地处理错误和异常情况。例如,我们可以这样使用这个封装:
```javascript
getUserInfo('123')
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
```
这样,无论API请求成功还是失败,我们都可以通过Promise的then和catch方法来处理返回的数据或错误信息。