精华结论
- 浏览器的 Event Loop 遵循的是 HTML5 标准,而 NodeJs 的 Event Loop 遵循的是 libuv。
- macro-task(宏任务):包括整体代码script,setTimeout,setInterval
- micro-task(微任务):Promise,process.nextTick
执行顺序
主线程 --> 微任务 --> 宏任务
大力推荐阅读文章
偏向于浏览器角度:
这一次,彻底弄懂 JavaScript 执行机制
node角度
不要混淆nodejs和浏览器中的event loop
阮一峰文章:
JavaScript 运行机制详解:再谈Event Loop
网友评论