Promise 的三种状态是什么?

推荐答案

Promise 的三种状态是:

  1. Pending(等待中):初始状态,既没有被兑现,也没有被拒绝。
  2. Fulfilled(已兑现):操作成功完成,Promise 被兑现。
  3. Rejected(已拒绝):操作失败,Promise 被拒绝。

本题详细解读

Promise 的状态机制

Promise 是 JavaScript 中用于处理异步操作的对象。它有三种状态,这些状态是不可逆的,一旦 Promise 从 Pending 状态转变为 FulfilledRejected 状态,就不能再改变。

  1. Pending(等待中)

    • 这是 Promise 的初始状态。当 Promise 被创建时,它处于 Pending 状态。
    • 在这个状态下,Promise 既没有被兑现,也没有被拒绝。
    • 例如:
  2. Fulfilled(已兑现)

    • 当 Promise 成功完成时,它会从 Pending 状态转变为 Fulfilled 状态。
    • 在这个状态下,Promise 的结果值可以通过 .then() 方法获取。
    • 例如:
  3. Rejected(已拒绝)

    • 当 Promise 失败时,它会从 Pending 状态转变为 Rejected 状态。
    • 在这个状态下,Promise 的错误原因可以通过 .catch() 方法或 .then() 的第二个参数获取。
    • 例如:

状态转换

  • 一旦 Promise 从 Pending 状态转变为 FulfilledRejected 状态,它的状态就固定了,不能再改变。
  • 例如,以下代码中的 Promise 只会输出 Fulfilled,而不会输出 Rejected
    -- -------------------- ---- -------
    ----- ------- - --- ----------------- ------- -- -
      ---------------------
      ------------------- -- ---------
    ---
    --------------------- -- -
      -------------------- -- -----------
    ---------------- -- -
      ------------------- -- ----
    ---

总结

Promise 的三种状态是 PendingFulfilledRejected。理解这些状态及其转换机制对于正确处理异步操作至关重要。

纠错
反馈