关于承诺/A+规范,是一个从未被允许解决或拒绝的承诺

Regarding Promises/A+ Specification, is a promise ever allowed to never resolve or reject?

本文关键字:承诺 许解决 拒绝 解决 于承诺 规范 一个      更新时间:2023-09-26

在Promises/A+标准中,我想知道promise是否需要最终解决或拒绝。我指的是对X的承诺,即在任何条件下,X都不会被解决或拒绝。

承诺/A+状态

  1. 待决时,承诺:

    i。可以转换到满足状态或拒绝状态。

我也不知道是不是该把它读成"它可能会过渡,但可能不会",或者它最终会过渡,可能会过渡到满足或拒绝。

不,规范没有强制要求这样做。承诺需要多长时间才能兑现没有限制。这包括一个无限长的时间-被称为"永远不会解决/永远不会解决承诺"或"永远悬而未决的"承诺。(另请参阅承诺术语)
术语可能在这里被故意使用,并且具有传统意义。

甚至有一些promise实现提供了Promise.never原语(例如在credit中),以在您知道您的promise不会解决的情况下优化内存消耗。