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

简单 了解 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 
 
 
觉得这个视频也不错:
 
参考文章:

猜你喜欢

转载自www.cnblogs.com/luoxiaoer/p/11751810.html