promise的其他方法实现代码
时间: 2024-04-07 17:34:03 浏览: 76
以下是 Promise 的其他方法的实现代码:
1. Promise.all:用于处理多个异步操作,等待所有操作完成后返回结果。
```javascript
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('操作1成功');
}, 1000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('操作2成功');
}, 2000);
});
Promise.all([promise1, promise2])
.then((results) => {
console.log('所有操作成功:', results);
})
.catch((error) => {
console.log('操作失败:', error);
});
```
2. Promise.race:用于处理多个异步操作,返回最先完成的操作结果。
```javascript
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('操作1成功');
}, 1000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('操作2成功');
}, 2000);
});
Promise.race([promise1, promise2])
.then((result) => {
console.log('最先完成的操作成功:', result);
})
.catch((error) => {
console.log('操作失败:', error);
});
```
3. Promise.resolve:用于将一个值或者一个 Promise 对象转换为一个已完成状态的 Promise 对象。
```javascript
const value = '操作成功';
Promise.resolve(value)
.then((result) => {
console.log('操作成功:', result);
})
.catch((error) => {
console.log('操作失败:', error);
});
```
4. Promise.reject:用于将一个错误信息转换为一个已拒绝状态的 Promise 对象。
```javascript
const error = '操作失败';
Promise.reject(error)
.then((result) => {
console.log('操作成功:', result);
})
.catch((error) => {
console.log('操作失败:', error);
});
```
希望以上代码能帮助您更好地理解 Promise 的其他方法。如果还有任何疑问,请随时追问!
阅读全文