Promise.race
Promise.race(Iterable<any>|Promise<Iterable<any>> input) -> Promise
给定一个Iterable
(数组是Iterable
),或者一个可迭代的 promise,它产生 promise(或 promise 和值的混合),迭代遍历 Iterable
中所有的值放入一个数组中,并当一个 promise 在数组中以最快的速度被履行或拒绝时,它就会使用各自的拒绝原因或履行值返回一个被履行或拒绝的 promise。
并行执行,一旦有一个 promise 被解决或拒绝就停止并返回
这个方法只是在 ES6 标准中才实现的。如果你想使 promise 竞争履行(也就是说,看看谁先履行)的话,
方法是更合适的,因为它不限制被拒绝的承诺作为赢家。没什么意外:如果传递一个空的数组,.any
.race
必须变成无限的等待,但将一个空的数组传递给
会产生 .any
RangeError
。