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

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的结果状态就是最终的结果状态

相关内容

热门资讯

这个邻国,请继续你疯狂的表演 国与国之间,最大的危险不是对抗,而是误判——把另一方的克制当成了怯懦。有一个邻国,感觉正在进行疯狂的...
信息通信业1集体3个人获第四届...   本报讯(记者 晓镜)今年5月30日是第十个全国科技工作者日。当天上午,2026年全国科技工作者日...
完成海南炼化首单二乙二醇出口业... (来源:海运经纪)近日,化销华南加强与化销国贸工作协同,充分发挥海南自由贸易港区位优势,深入拓展海外...
“被迫吸了二手烟!”贵州一学校... 转自:扬子晚报近日,贵州新东方烹饪技师学院多名学生在社交平台发帖称,该校为配合5月31日的“世界无烟...
阿布扎比国家石油公司贸易主管指... 格隆汇6月3日|阿布扎比国家石油公司(ADNOC)销售与贸易执行副总裁Philippe Khoury...