四时宝库

程序员的知识宝库

前端面试eventloop执行机制(前端面试dom)

event loop的执行顺序:

·一、开始整个脚本作为一个宏任务执行,执行过程中同步代码直接执行。宏任务进入宏任务队列,微任务进入微任务队列。当前宏任务执行完出队检查微任务列表,有则依次执行直到全部执行完。

·二、执行浏览器UI线程的渲染工作,检查是否有Web Worker任务,有则执行。执行完本轮的宏任务回到一,依此循环直到宏任务和微任务队列都为空。

微任务包括:MutationObserver()Promise为基础开发的其它技术,比如fetch API V8的垃圾回收过程,Node独有的process.nextTick。宏任务包括:script setTimeout,setInterval setImmediate I/O Ul rendering。

注意:在所有任务开始的时候,由于宏任务中包括了script,所以浏览器会先执行一个宏任务。在这个过程中你看到的延迟任务(例如setTimeout)将被放到下一轮宏任务中来执行。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接