Event Loop

2020-06-13  本文已影响0人  SkyBlue丶ly

一,事件环的执行顺序

Event Loop事件循环

    1,例子

    2,main script=》微任务=》宏任务中的第一项=》微任务=》宏任务中的第二项=》微任务=》。。。

    3,执行流程

        1)同步和异步任务分别进入不同的执行"场所",同步的进入主线程,异步的进入Event Table并注册函数

        2)当指定的事情完成时,Event Table会将这个函数移入Event Queue(事件队列)。

        3)主线程内的任务执行完毕为空,会去Event Queue读取对应的函数,进入主线程执行。

        4)上述过程会不断重复,也就是常说的Event Loop(事件循环)。

    4,微任务和宏任务皆为异步任务,它们都属于一个队列

        1)宏任务一般是:包括整体代码script,setTimeout,setInterval、setImmediate。

        2)微任务:原生Promise(有些实现的promise将then方法放到了宏任务中)、process.nextTick、Object.observe(已废弃)、 MutationObserver 

上一篇下一篇

猜你喜欢

热点阅读