Promise.any()和Promise.first()之间有什么区别?
它们看起来几乎一模一样,但却不一样 他们不是都试图得到第一个已解决的答案(或得到第一个成功解决的通知),而不关心任何拒绝吗?根据《没有Promise.any()和Promise.first()之间有什么区别?,promise,Promise,它们看起来几乎一模一样,但却不一样 他们不是都试图得到第一个已解决的答案(或得到第一个成功解决的通知),而不关心任何拒绝吗?根据《没有承诺》的说法。第一个 你不知道的那本书提到: 虽然本机ES6承诺附带内置的Promise.all([…])和Promise.race([…]),但还有其他几种常用模式在这些语义上有所不同: 本机ES6仅支持Promise.any和Promise.all Promise.any将在承诺数组中的任何承诺解析后立即解析。它也被称为锁存第一个解决wins的锁存器 Prom
承诺》的说法。第一个
你不知道的那本书提到:
虽然本机ES6承诺附带内置的Promise.all([…])和Promise.race([…]),但还有其他几种常用模式在这些语义上有所不同:
本机ES6仅支持Promise.any
和Promise.all
Promise.any
将在承诺数组中的任何承诺解析后立即解析。它也被称为锁存
第一个解决wins的锁存器
Promise.all
将在承诺数组中的所有承诺都解决时解决。虽然没有承诺解决问题的具体顺序。如果任何承诺被拒绝,则所有人都将拒绝拒绝拒绝承诺的原因。这也被称为一个门
主承诺,在所有承诺都得到解决之前无法得到解决。根据这一点,没有承诺。首先
你不知道的那本书提到:
虽然本机ES6承诺附带内置的Promise.all([…])和Promise.race([…]),但还有其他几种常用模式在这些语义上有所不同:
本机ES6仅支持Promise.any
和Promise.all
Promise.any
将在承诺数组中的任何承诺解析后立即解析。它也被称为锁存
第一个解决wins的锁存器
Promise.all
将在承诺数组中的所有承诺都解决时解决。虽然没有承诺解决问题的具体顺序。如果任何承诺被拒绝,则所有人都将拒绝拒绝拒绝承诺的原因。这也被称为门
主承诺,在所有承诺都得到解决之前无法得到解决。区别似乎在于承诺。任何由will定义的()
拒绝
,如果没有解决和承诺。首先()
在你链接的书中实现,在任何时候都不会被拒绝。另一方面,我看不出任何区别。区别似乎在于承诺。willreject
定义的任何()
如果没有解决和承诺,那么在任何时候都不会被拒绝。你链接的书中实现的第一个()
。另一方面,我看不出有什么不同。您所指的文章提供了.first()
的实现,它还提供了.any()
和.first()
的定义:
any([…])
类似于all([…])
,但它忽略了任何拒绝,因此只需要满足一个而不是所有拒绝
first([…])
就像一场与any([…])
的竞赛,即它忽略任何拒绝,并在第一个承诺兑现时立即兑现
any
的定义似乎与EcmaScript当前处于第3阶段的定义不同。引用的any
定义似乎在等待所有承诺的解决。只有当所有承诺都被拒绝时,返回的承诺才会被拒绝,但如果至少有一个承诺得到了履行,那么它将得到履行——忽略拒绝
“因此只需要一个而不是全部”这句话有点令人困惑,但与.all()
的比较并不是关于结果何时稳定,而是它将在什么条件下实现 您参考的文章提供了.first()
的实现,还提供了.any()
和.first()
的定义:
any([…])
类似于all([…])
,但它忽略了任何拒绝,因此只需要满足一个而不是所有拒绝
first([…])
就像一场与any([…])
的竞赛,即它忽略任何拒绝,并在第一个承诺兑现时立即兑现
any
的定义似乎与EcmaScript当前处于第3阶段的定义不同。引用的any
定义似乎在等待所有承诺的解决。只有当所有承诺都被拒绝时,返回的承诺才会被拒绝,但如果至少有一个承诺得到了履行,那么它将得到履行——忽略拒绝
“因此只需要一个而不是全部”这句话有点令人困惑,但与.all()
的比较并不是关于结果何时稳定,而是它将在什么条件下实现 只有一个存在吗,我不太明白为什么那本书提到了.first()
和.any()
单独注释(重点是我的)“一些承诺抽象库提供了这些”,“我们如何定义first
”。只有一个存在吗,我不太明白为什么那本书提到了.first()
和.any()
单独注释(重点是我的)“一些承诺抽象库提供了这些”,“我们如何定义first
”。