推荐答案
Promise
的 then
方法用于处理 Promise
对象的成功状态(fulfilled)或失败状态(rejected)。它接收两个回调函数作为参数:
- 第一个回调函数(
onFulfilled
)在Promise
成功时被调用,并接收Promise
的解析值(resolved value)作为参数。 - 第二个回调函数(
onRejected
)在Promise
失败时被调用,并接收Promise
的拒绝原因(rejection reason)作为参数。
then
方法返回一个新的 Promise
对象,允许链式调用。
-- -------------------- ---- ------- ------------- ------- -- - -- ------ ------------------ ------- -- -------- -- - -- ------ -------------------- -------- - --
本题详细解读
then
方法的作用
处理成功状态:当
Promise
被成功解析时,then
方法的第一个回调函数会被调用,并接收解析值作为参数。这个回调函数通常用于处理异步操作的成功结果。处理失败状态:当
Promise
被拒绝时,then
方法的第二个回调函数会被调用,并接收拒绝原因作为参数。这个回调函数通常用于处理异步操作的失败情况。链式调用:
then
方法返回一个新的Promise
对象,这使得可以继续调用then
方法,形成链式调用。每个then
方法都可以处理前一个Promise
的结果,并返回一个新的Promise
。错误传播:如果在
then
方法的回调函数中抛出异常,或者返回一个被拒绝的Promise
,这个异常或拒绝原因会被传递给链中的下一个catch
或then
的第二个回调函数。
示例代码
-- -------------------- ---- ------- ----- ------- - --- ----------------- ------- -- - ------------- -- - ----- ------- - ----- -- --------- - ---------------- - ---- - --------------- - -- ------ --- ------------- ------- -- - ------------------- -- --- ---- ------ ------- -- -------- -- - ---------------------- -- ---- - ------- ------- -- - ------------------- -- --- ---- - --
在这个示例中,promise
在 1 秒后被成功解析,then
方法的第一个回调函数被调用,并输出 操作成功
。然后,它返回一个新的值 继续处理
,这个值被传递给下一个 then
方法的回调函数,并输出 继续处理
。