p-any 与 Promise.any
p-any versus Promise.any
问题
把p-any package suggests that it is a replacement for Promise.race
given this link作为一个理由。正如 p-any
所建议的那样,在大多数情况下它似乎是一个更好的选择,但是 Promise.any
似乎做同样的事情。
我的理解
Promise.race
接受 Iterable
个承诺,returns 第一个以错误或解决方案完成的承诺。
Promise.any
returns 第一个解决并忽略失败的承诺。
帮助
我的理解对吗? p-any
和 Promise.any
做同样的事情吗?感谢您的帮助
如果您的问题是 p-any
的 any
函数和标准 Promise.any
函数是否做同样的事情,那么根据 p-any
的文档,是的, 他们是这样。当 iterable 的第一个 promise 得到满足时,它们都会得到满足,或者如果 iterable 的所有 promise 都被拒绝,它们都会被 AggregateError
拒绝。
Promise.any
仍然只是 Stage 3 proposal,尽管它可能很快就会进入第 4 阶段。 p-any
和类似的大概早于该努力。
此图表(我希望 SO 的 markdown 允许表格!) 可能有助于理解不同的 Promise 组合器:
+−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−+
| Name | Description | Added In |
+−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−+
| Promise.allSettled | does not short−circuit | ES2020 |
| Promise.all | short−circuits when an input value is rejected | ES2015 |
| Promise.race | short−circuits when an input value is settled | ES2015 |
| Promise.any | short−circuits when an input value is fulfilled | Stage 3 proposal |
+−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
This article 提案链接也可以。
问题
把p-any package suggests that it is a replacement for Promise.race
given this link作为一个理由。正如 p-any
所建议的那样,在大多数情况下它似乎是一个更好的选择,但是 Promise.any
似乎做同样的事情。
我的理解
Promise.race
接受 Iterable
个承诺,returns 第一个以错误或解决方案完成的承诺。
Promise.any
returns 第一个解决并忽略失败的承诺。
帮助
我的理解对吗? p-any
和 Promise.any
做同样的事情吗?感谢您的帮助
如果您的问题是 p-any
的 any
函数和标准 Promise.any
函数是否做同样的事情,那么根据 p-any
的文档,是的, 他们是这样。当 iterable 的第一个 promise 得到满足时,它们都会得到满足,或者如果 iterable 的所有 promise 都被拒绝,它们都会被 AggregateError
拒绝。
Promise.any
仍然只是 Stage 3 proposal,尽管它可能很快就会进入第 4 阶段。 p-any
和类似的大概早于该努力。
此图表(我希望 SO 的 markdown 允许表格!) 可能有助于理解不同的 Promise 组合器:
+−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−+ | Name | Description | Added In | +−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−+ | Promise.allSettled | does not short−circuit | ES2020 | | Promise.all | short−circuits when an input value is rejected | ES2015 | | Promise.race | short−circuits when an input value is settled | ES2015 | | Promise.any | short−circuits when an input value is fulfilled | Stage 3 proposal | +−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
This article 提案链接也可以。