Promise对象状态属性 工作流程 Promise对象的几个属性
创始人
2024-05-29 00:52:08
0

Promise 对象状态属性介绍

实例对象中的一个属性

PromiseState

pending
1、pending 变为 resolved / fullfilled 成功
2、pending 变为 rejected 失败

说明:只有这2种,且一个promise对象只能改变一次
无论变为成功还是失败,都会有一个结果数据
成功的结果数据一般称为value,失败的结果数据一般称为reason

Promise对象的值

实例对象中的另一个属性 PromiseResult
它保存着异步任务:对象成功或者失败的结果
resolve函数和reject函数 可以对实例对象当中的PromiseResult的值进行修改

Promise的工作流程

1、给Promise对象进行实例化

new Promise()

2、执行异步操作
如果成功了就会执行resolve()方法
如果失败 了就会执行reject()方法

3、promise对象的状态会变为resolved状态或者rejected状态

改变的状态取决于第二步中执行的失败与否

4、如果Promise对象是resolved状态则会执行then()方法,回调onResolved()方法

如果Promise对象是rejected状态则会执行then()方法或者catch()方法

5、生成新的Promise对象

Promise的API-构造函数-then-catch

API

1、Promise构造函数:Promise(excutor){}
(1)excutor函数:执行器(resolve,reject)=>{}
(2)resolve函数:内部定义成功时我们调用的函数 value=>{}
(3)reject函数:内部定义失败时我们调用的函数 reason=>{}

说明:executor会在Promise内部立即同步调用,异步操作在执行器中执行

2、Promise.prototype.then方法:(onResolved,onRejected)=>{}
(1) onResolved函数:成功的回调函数 (value)=>{}
(2)onRejected函数:失败的回调函数(reason)=>{}
说明:指定用于得到成功的value的成功回调函数和用于得到失败的reason的失败水貂返回一个新的promise对象。

3、Promise.prototype.catch方法:(onRejected)=>{}
(1)onReject函数:失败的回调函数(reason)=>{}

4、Promise.resolve方法:(value)=>{}
(1)value:成功的数据或promise对象
说明:返回一个成功/失败的promise对象

5、Promise.reject方法:(reason)=>{}
(1)reason:失败的原因
说明返回一个失败的promise对象

6、Promise.all方法:(promises)=>{}
(1)promises:包含n个promise的数组
说明:返回一个新的promise,只有所有的promise都成功才成功,只要有一个失败了,就直接失败

7、Promise.race方法:(promises)=>{}
(1)promises:包含n个Promise的数组
说明:返回一个新的promise,第一个完成的promise的结果状态就是最终的结果状态

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...