码迷,mamicode.com
首页 > 其他好文 > 详细

浏览器中的event loop, 简单了解。

时间:2019-10-28 14:40:05      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:iat   清空   code   nbsp   代码执行   org   settime   src   blog   

简单 了解 Event Loop 相关知识,知道 JS 异步运行代码的原理。
 
技术图片
 
 
Event Loop 执行顺序如下所示:
执行全局Script同步代码,(这属于宏任务)
全局Script代码执行完毕后,调用栈Stack会清空;
执行微任务,如果在执行microtask的过程中,又产生了microtask,加入到队列的末尾,也会在这个周期被调用执行;
microtask queue中的所有任务都执行完,微任务后,如有必要会渲染页面
然后开始下一轮 Event Loop
取出宏队列macrotask queue中任务,放入Stack中执行;
执行完毕后,调用栈Stack为空;
执行所有微任务
......
 
 
宏任务包括:
script整体代码
setTimeout
setInterval
setImmediate
I/O
UI rendering
microtask类型包括:
 
微任务包括:
process.nextTick
Promise(这里指浏览器实现的原生promise)
MutaionObserver 
 
 
觉得这个视频也不错:
 
参考文章:

浏览器中的event loop, 简单了解。

标签:iat   清空   code   nbsp   代码执行   org   settime   src   blog   

原文地址:https://www.cnblogs.com/luoxiaoer/p/11751810.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!