在一些JS文档中, 涉及到 promise 对象时, 往往会用到 resolved 这个这个术语来描述对象状态. 实际上, 在标准中, promise 对象是没有 resolved 状态的.
promise 对象只有三种状态分别是 "pending", "fulfilled"和 "rejected". 其中后两个状态也统称"settled". 一旦promise 对象完成生产, 就会调用resolve(value) 或者 reject(error)将状态置于settled, 然后会执行消费者的代码.
那么, 术语 resolved 究竟是描述什么的呢? 文档里给出的解释是 "Fate", 这很难翻译,相当于用另一个术语来解释术语. 不过,我们知道 "Fate"不等同于 状态"State".
我理解的 resolved, 是生产者已经完成了生产, 但其状态未必是"fulfilled", 因为它的消费者的handler还有可能返回promise, 其状态跟这个新promise是一致的.










网友评论