Promise类型

Promise类型

  • Promise类型Promise是一个类型,与C#中的Task类似,是用来包装异步操作的容器。
    (1)Promise有三种状态:pending(进行中)fulfilled/resolved(已成功)和rejected(已失败)。
    (2)Promise一旦创建,则立即执行且状态不会被中途改变,所以它的状态变更只有两种情况:
    从“进行中”到resolved
    从“进行中”到rejected。
    在这里插入图片描述
    then()是Promise实例上的API,它接受两个参数:成功的回调和失败的回调。
    在这里插入图片描述

另外还有一个catch方法,可以捕捉失败的异步操作,这样就没必要每个then都写失败回调了。直接在顶级的Promise写上catch()就行
在这里插入图片描述
finally:不管异步操作成功与否,都会执行。
在这里插入图片描述
Promise.try方法。如果认为Promise创建时有可能出现错误
在这里插入图片描述

  • 对象转成Promise
    有时需要将一个非Promise的对象包装成Promise对象,那么可以使用Promise.reject方法
    在这里插入图片描述
  • 批量执行
    Promise有许多方法可以批量执行。这些方法有以下共同点:
    (1)它们的参数可以是数组或者其他实现了Iterator接口的类型(注:Iterator类似于C#中的Enumerable)。
    (2)它们都是在执行完成后,包装成一个新的Promise返回值。
    (3)参数数组里面有某个值不是Promise,则会自动调用Promise.resolve转成Promise。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值