const promise1 = new Promise((resolve) => {
setTimeout(resolve, 100, "one");
});
const promise2 = new Promise((resolve) => {
setTimeout(resolve, 200, "two");
});
Promise.race([promise1, promise2])
.then((value) => {
console.1og(value); // 输出:'one'
})
.catch((error) => {
console.error(error); // 不会被执行,因为第一个解决的 promise 是 promise1
});
Promise.race
是一个 Promise
的静态方法,它接受一个由多个 Promise
实例组成的可迭代对象(如数组)作为参数,并返回一个新的 Promise
。返回的 Promise
在传入的可迭代对象中的任何一个 Promise
实例率先解析或拒绝时,该 Promise
的状态就会跟随解析或拒绝的那个 Promise
的状态。
大白话:只返回迭代的第一个值,无论成功失败。