Promise

一、promise状态的改变

状态指的是实例对象中的一个属性 PromiseState

1.pending  未决定

2.resolved/fullfilled 成功

3.rejected 失败

pending变为resolved或者pending变为rejected。只有这两种状态,并且promise对象只能改变一次,无论变为成功还是失败都会有一个结果数据。成功的结果数据一般称为value,失败的结果称为reason。

二、promise对象的值

实例对象中的另一个属性 PromiseResult

保存着异步任务 成功或失败 的结果

修改值 通过resolve和reject进行修改

三、promise的基本流程

 四、promise的API

 五、promise中的方法

1.resolve方法

value:成功的数据或promise对象。说明:返回一个成功/失败的promise对象

2.reject方法

reason:失败的原因。说明:返回一个失败的promise对象。

 3.all方法

(promise)=>{ }

promise:包含n个promise数组

说明:返回一个新的promise,只有所有的promise都成功才能成功,只要有一个失败了就直接失败。

4. race方法

promise:包含n个promise的数组

说明:返回一个新的promise,第一个完成的promise的结果状态就是最终的结果状态。

 六、promise的几个关键问题

 

 

 

 

 

结果为:success     undefined

 

 

成功时结果:111  222  333      失败时结果:Err

 

结果为:111

七、async与await

1.async函数

函数返回值为promise对象。返回的promise对象的结果由async函数执行的返回值决定

 2.await函数

1. await 必须写在async函数中,但async函数中可以没有await :

2.如果await的promise失败了,就会抛出异常,需要通过t...catch捕获处理

3.await右侧的表达式一般为promise对象,但也可以是其它的值

4.如果 表达式是promise对象, await返回的是promise成功的值

5.如果表达式是其它值,直接将此值作为await的返回值

结果为:Error

3.async和await结合

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值