Promise的链式调用

本文详细介绍了Promise在JavaScript中的基础概念,包括链式调用、静态方法async/await以及catch方法的使用。通过实例展示如何处理任务成功和失败的不同情况,提升异步代码的表达力。
摘要由CSDN通过智能技术生成

目录

Promise基础
Promise的链式调用
Promise的静态方法
async.await

catch方法

.catch(onRejected) = .then(null, onRejected)

链式调用

在这里插入图片描述

  1. then方法必定会返回一个新的Promise

    可理解为后续处理也是一个任务

  2. 新任务的状态取决于后续处理:

    • 若没有相关的后续处理,新任务的状态和前任务一致,数据为前任务的数据。
    • 若有后续处理但还未执行,新任务挂起。
    • 若后续处理执行了,则根据后续处理的情况确定新任务的状态。
      • 后续处理执行无错,新任务的状态为完成,数据为后续处理的返回值。
      • 后续处理执行有错,新任务的状态为失败,数据为异常对象。
      • 后续执行后返回的是一个任务对象,新任务的状态和数据与该任务对象一致。

由于链式任务的存在,异步代码拥有了更强的表达力。

// 常见任务处理代码

/*
 * 任务成功后,执行处理1,失败则执行处理2
 */
pro.then(处理1).catch(处理2)

/*
 * 任务成功后,依次执行处理1、处理2
 */
pro.then(处理1).then(处理2)

/*
 * 任务成功后,依次执行处理1、处理2,若任务失败或前面的处理有错,执行处理3
 */
pro.then(处理1).then(处理2).catch(处理3)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值