Promise 的 then 方法有什么作用?

· 约 3 分钟读完 · 第 44 / 142 章

推荐答案

Promise 的 then 方法用于处理 Promise 对象的成功状态(fulfilled)或失败状态(rejected)。它接收两个回调函数作为参数:

  • 第一个回调函数(onFulfilled)在 Promise 成功时被调用,并接收 Promise 的解析值(resolved value)作为参数。
  • 第二个回调函数(onRejected)在 Promise 失败时被调用,并接收 Promise 的拒绝原因(rejection reason)作为参数。

then 方法返回一个新的 Promise 对象,允许链式调用。

本题详细解读

then 方法的作用

  1. 处理成功状态:当 Promise 被成功解析时,then 方法的第一个回调函数会被调用,并接收解析值作为参数。这个回调函数通常用于处理异步操作的成功结果。

  2. 处理失败状态:当 Promise 被拒绝时,then 方法的第二个回调函数会被调用,并接收拒绝原因作为参数。这个回调函数通常用于处理异步操作的失败情况。

  3. 链式调用:then 方法返回一个新的 Promise 对象,这使得可以继续调用 then 方法,形成链式调用。每个 then 方法都可以处理前一个 Promise 的结果,并返回一个新的 Promise。

  4. 错误传播:如果在 then 方法的回调函数中抛出异常,或者返回一个被拒绝的 Promise,这个异常或拒绝原因会被传递给链中的下一个 catch 或 then 的第二个回调函数。

示例代码

在这个示例中,promise 在 1 秒后被成功解析,then 方法的第一个回调函数被调用,并输出 操作成功。然后,它返回一个新的值 继续处理,这个值被传递给下一个 then 方法的回调函数,并输出 继续处理。