JavaScript Promise 的术语
理解 JavaScript Promise 的术语可能具有挑战性。根据 Promises/A 规范和 ES6,promise 具有三种不同的状态:
已解决、已解决和已实现
术语“已解决”是指已实现或已拒绝的统称,意味着承诺不再悬而未决。然而,“解决”是一个复杂的概念。
它有时可以与“实现”互换使用,但更精确的解释是“解决”是将承诺的命运设置为实现或拒绝的行为。 Promise 的“解析”表示它已经退出待处理状态。
递归和解析
Promise 解析过程是递归的。解决带有基本值的 Promise 会实现它,而用另一个 Promise 解决它会采用该 Promise 的状态。这可能会导致 Promise 得到解决但其最终状态尚未确定的情况。在这种情况下,Promise 被称为“已解决”,因为它的命运不再含糊,但其实际状态可能仍处于待定状态。
推迟
推迟结果涉及为结果提供异步承诺,而不是直接返回结果。此过程还返回延迟拒绝,而不是同步抛出。
在某些库中,例如 Q,术语“defer”指的是构造 Deferred 对象的方法。需要注意的是,变量名称可能并不总是准确反映其预期含义,“defer”也可能是“deferredObject”的缩写。
以上是JavaScript Promise 有哪些不同的状态,它们与'已解决”、'已解决”和'延迟”等术语有何关系?的详细内容。更多信息请关注PHP中文网其他相关文章!