Promise的基本使用

const pro = new Promise((resolve,reject)=> {

未决阶段处理

通过调用resolve函数将promise推向已决阶段的resolve

通过调用reject函数将将promise推向已决阶段的rejected

resolve和reject均可以传递最多一个参数,表示推向该状态的数据

});

pro.then(data => {

thenable函数,如果当前的promise已经是resolved状态,该函数会立即执行

如果当前函数是未决阶段,则该函数会加入作业队列等待到达resolved状态后立即执行

data状态数据

},err => {

catchable函数,如果当前promise已经是rejected状态,则该函数立即执行

如果当前是未决阶段,则该函数会加入作业队列等待到达rejected状态后立即执行

err为状态数据

});

细节:

1、未决阶段的处理函数是同步的,会立即执行。

2、thenable和catchable函数是异步的,就算是立即执行,也会加入到事件队列中等待执行,并且加入的队列是微队列。

3、pro.then可以只添加thenable函数,pro.catch可以单独加catchable函数。

4、在未决阶段处理函数中,如果发生未捕获的错误,会自动将状态推向rejected,并且被catchable捕获。

5、一旦推向已决阶段,无法在对状态做任何改变。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值