猫幻  

(1).Pending(进行中)

( 2) .Fulfilled(己成功)

(3) .Rejected(已失败)
3.当异步操作执行后,它得到的结果来决定其状态,其它任何操作都无法改变;

4. Promise状态只有两种运行方式:从 Pending到Fulfilled或Rejected:

5.而当状态已经固定后,此时就变成Resolved(已完成)。关键字详解:请搜索;
pending -> resolve方法-> fulfilled -> resolved
pending -> reject方法 -> rejected -> resolved
PS:测试当前状态,在浏览器环境下比较直观直接: console.log(p1),在不同阶段执行;

2. Promise提供了一个all()方法,可以简化多个实例调用输出排序;
l/p1,p2,p3是三个Promise实例,数组元素顺序即输出顺序
let p = Promise.al1([p1,p2,p3]);
1/将三个 Promise实例的回调组合成数组输出p.then(value => i
console.log(value);});
PS:虽然p1,p2,p3都是异步操作,但最终要等待所有异步完成,才可以输出;

PS:只要p1,p2,p3中有一个出现了Rejected,则会执行失败回调:
3.Promise提供了一个race()方法,只输出第一个改变状态的实例;

4. Promise提供了resolve()和reject(),直接返回一个成功或失败的实例;

posted on 2021-12-01 13:10  猫幻  阅读(35)  评论(0编辑  收藏  举报