JavaScript中的Promise.all()和Promise.any()有什么区别?

What are the differences between Promise.all() and Promise.any() in JavaScript?

在 JavaScript 中使用 Promise 对象时,我注意到两个方法,即 Promise.all()Promise.any()

它们都以一个可迭代对象(比如array)作为参数。但是,我找不到每种方法的不同之处。

MDN上搜索后,仍然很难找到两种方法之间差异的总结。

综上所述,JavaScript中的Promise.all()Promise.any()有什么区别?


注:本题与无关。我问的不是 Promise.race(),而是 Promise.all()

Promise.all只有在传入的数组中的所有Promise都被解析时才解析,而returns解析的数组Promise。如果迭代器中的任何 Promise 拒绝,Promise.all 拒绝(我假设最初拒绝的原因)。

Promise.any 在传入数组中的任何 Promise 时解析,returns 第一个 Promise 解析。它不会拒绝,除非迭代器中的所有 Promise 都被拒绝。

Promise.all - 解决所有作为可迭代对象传递的承诺。当输入值被拒绝时,它也会完全拒绝,因为它遵循 all-or-nothing 方法.

Promise.any - 采用 Promise 对象的可迭代对象,并且一旦可迭代对象中的一个 promises 实现,它 returns 一个单一的 promise 以该 promise 的值解决。