阅读量:0
在JavaScript中,Promise.race方法用于返回一个Promise对象,该对象在给定的Promise对象中的任何一个解决或拒绝时解决或拒绝,以第一个解决或拒绝的结果为准。
使用Promise.race方法的语法如下:
Promise.race(iterable);
其中,iterable
是一个可迭代对象,例如数组。
以下是一个使用Promise.race方法的例子:
const promise1 = new Promise((resolve, reject) => { setTimeout(() => { resolve('Promise 1 resolved'); }, 2000); }); const promise2 = new Promise((resolve, reject) => { setTimeout(() => { reject('Promise 2 rejected'); }, 1000); }); Promise.race([promise1, promise2]) .then(result => { console.log(result); // 输出:Promise 2 rejected }) .catch(error => { console.log(error); // 输出:Promise 2 rejected });
在上面的例子中,我们创建了两个Promise对象,promise1
和promise2
。其中,promise1
在2秒后解决,而promise2
在1秒后拒绝。我们使用Promise.race方法将这两个Promise对象传递给它,并使用.then()方法来处理第一个解决的Promise对象。由于promise2
先拒绝,所以最终的结果是Promise 2 rejected
。
需要注意的是,Promise.race方法只返回一个Promise对象,并且只解决或拒绝第一个解决或拒绝的结果。其余的Promise对象的状态将被忽略。