Promise.race
时间: 2023-10-20 14:26:02 浏览: 90
`Promise.race` 是一个 Promise 静态方法,它接收一个 Promise 对象数组作为参数,并返回一个新的 Promise 对象。这个新的 Promise 对象会在数组中的任意一个 Promise 对象的状态变为 resolved 或 rejected 时立即被解决,并返回该 Promise 对象的结果或错误信息。
例如,以下代码创建了两个 Promise 对象,一个用于返回成功状态,另一个用于返回错误状态,然后将它们传递给 Promise.race 方法,在任意一个 Promise 对象变为 resolved 或 rejected 状态后立即输出结果或错误信息:
```javascript
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => resolve('promise1 resolved'), 1000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => reject('promise2 rejected'), 500);
});
Promise.race([promise1, promise2]).then(
result => console.log(result),
error => console.log(error)
);
```
在这个例子中,由于 promise2 的状态会先变为 rejected,因此输出的结果为 'promise2 rejected'。如果 promise1 的状态先变为 resolved,则输出 'promise1 resolved'。
阅读全文