Promise 的状态有哪些?它们的含义是什么?

问题询问了关于 JavaScript 中 Promise 的状态及其含义。

JavaScript 简单 异步编程 Promise 异步处理

Promise 是 JavaScript 用于处理异步操作的对象, 包含三种固有状态:

  1. Pending(待定): 初始状态, 表示异步操作尚未完成, 也未确定结果; 此时处于进行中。
    • 含义: 当 Promise 被创建后未调用 resolve 或 reject 方法时。状态可变(可转为 fulfilled 或 rejected)。基于参考资料。
  2. Fulfilled(已兑现)/Resolved(已解决): 操作成功完成状态; 通常会附带一个成功值作为结果。
    • 含义: 通过调用 Promise 的 resolve 方法实现; 操作执行成功, Promise 进入“成功”状态。后续链式调用触发 then 方法的成功回调。
  3. Rejected(已拒绝): 操作失败状态; 通常关联一个失败原因(如错误对象)。
    • 含义: 通过调用 reject 方法触发; 表示异步操作失败或有异常。该状态一旦进入, 不会被反转。

关键规则:

  • 状态不可逆: 从 Pending 转为 Fulfilled 或 Rejected 后永不改变。
  • 链式调用: 基于状态变化执行 then 或 catch 等后续方法处理结果。