程序员

Promise异步方案、宏任务和微任务队列

2021-01-06  本文已影响0人  翔子丶

一种更优的异步编程统一方案,避免回调地狱。Promise对象能把异步操作最终成功的返回值或失败原因和相应的处理程序关联起来,这样使得异步方法可以和同步方法那样返回值:异步方法不会立即返回最终值,而是返回一个promise,在未来某个时刻把值交给使用者

Promise特点

1.Promise是一个类 执行时传递一个执行器进去 执行器立即执行

2.Promise三种状态 pedding等待 fulfilled成功 rejected失败 只能由pedding->fulfilledpedding->rejected 一旦状态确定就不能更改

3.参数resolvereject 更改状态

4.then方法定义在原型对象上 用于判断状态 分别调用对应的回调函数

5.then成功和失败的回调都有返回值

6.同一个Promise对象下的then方法可被多次调用;返回一个全新的Promise对象、后面的then是为上一个then返回的Promise注册回调、前面then回调函数中的返回值作为后面then方法回调的参数

7.then可被链式调用 后面的then拿到的值是上一个then方法的回调函数返回值 不传参数时相当于value => value 状态向后传递

8.finally中代码 不管哪种状态都会执行

9.all方法 参数必须为数组 非promise all自动将其转换为promise对象 传入的值必须按顺序输出 一旦有一个reject则状态立马变为reject 并将错误原因抛出

10.race方法 同all 数组中有一个promise最先得到结果 返回哪种状态 race就返回那种状态

示例:

上一篇 下一篇

猜你喜欢

热点阅读