浏览器引擎、回调地狱、Generator函数、Promise

浏览器引擎

IE:js引擎是chakra,渲染引擎是Trident

edge:js引擎是chakra,渲染引擎是EdgeHTML

谷歌:js引擎是v8,渲染引擎是blink

火狐:js引擎是SpiderMonkey,渲染引擎是Gecko

 

回调地狱

定义:同步任务是执行主线程,按顺序执行执行完一个任务了才会执行第二个;异步任务进入异步队列,前一个任务是否执行完毕对它没有影响,回调函数中嵌套了回调函数的情况即为回调地狱。

 

Promise

Promise就是为了解决回调地狱而诞生的,它将回调函数中的嵌套关系改为链式调用,使用.then()接收成功的处理结果,使用.catch()接收失败的处理结果。

Promise有三种状态,pending进行中,resolve接受,reject拒绝。

async/await就是基于Promise的

 

Generator函数

定义:Generator是一个封装了异步任务的容器,在需要暂停的异步任务前使用yield关键字就可暂停。调用生成器函数,会得到一个生成器对象,包括value和done;value是yield定义的状态,done是生成进度(状态),通过generator函数可以逐步处理大型数据集。

特点:

1.定义时在function关键字和函数名中间加上*,内部使用yield定义不同的内部状态

2.Gennerator函数定义后并不会执行,返回的不是该函数的运行结果,而是一个指向内部状态的指针对象

3.只有使用next()方法才可进入下一状态;

posted @ 2022-11-17 17:34  新时代的搬砖人  阅读(35)  评论(0)    收藏  举报