首页 > web前端 > js教程 > JavaScript Promise 有哪些不同的状态,它们与'已解决”、'已解决”和'延迟”等术语有何关系?

JavaScript Promise 有哪些不同的状态,它们与'已解决”、'已解决”和'延迟”等术语有何关系?

Barbara Streisand
发布: 2024-11-06 18:39:02
原创
826 人浏览过

What are the different states of a JavaScript promise and how are they related to terms like

JavaScript Promise 的术语

理解 JavaScript Promise 的术语可能具有挑战性。根据 Promises/A 规范和 ES6,promise 具有三种不同的状态:

  • Pending: Promise 尚未确定其结果。
  • Fulfilled: Promise 已成功获取结果值。
  • Rejected: Promise 遇到未获取结果的原因,通常是错误。

已解决、已解决和已实现

术语“已解决”是指已实现或已拒绝的统称,意味着承诺不再悬而未决。然而,“解决”是一个复杂的概念。

它有时可以与“实现”互换使用,但更精确的解释是“解决”是将承诺的命运设置为实现或拒绝的行为。 Promise 的“解析”表示它已经退出待处理状态。

递归和解析

Promise 解析过程是递归的。解决带有基本值的 Promise 会实现它,而用另一个 Promise 解决它会采用该 Promise 的状态。这可能会导致 Promise 得到解决但其最终状态尚未确定的情况。在这种情况下,Promise 被称为“已解决”,因为它的命运不再含糊,但其实际状态可能仍处于待定状态。

推迟

推迟结果涉及为结果提供异步承诺,而不是直接返回结果。此过程还返回延迟拒绝,而不是同步抛出。

在某些库中,例如 Q,术语“defer”指的是构造 Deferred 对象的方法。需要注意的是,变量名称可能并不总是准确反映其预期含义,“defer”也可能是“deferredObject”的缩写。

以上是JavaScript Promise 有哪些不同的状态,它们与'已解决”、'已解决”和'延迟”等术语有何关系?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板