浏览器引擎、回调地狱、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()方法才可进入下一状态;

浙公网安备 33010602011771号