前端面试题 - Node 与浏览器的事件循环的差异?
前端面试题 - Node 与浏览器的事件循环的差异?
浏览器环境下,每执行完一个宏任务就执行所有微任务队列。
在 Node 10 之前,微任务会在事件循环的各个阶段之间执行,Node 的事件循环分为 6 个阶段,它们会按照顺序反复运行。每当进入某一个阶段的时候,都会从对应的回调队列中取出函数去执行。当队列为空或者执行的回调函数数量到达系统设定的阈值,就会进入下一阶段。每当一个阶段执行完毕,就会去执行微任务队列的任务。
Node 11 以后和浏览器的行为统一了,都是每执行一个宏任务就执行完所有微任务队列。
通俗易懂的前端面试题网站: https://www.front-interview.com
评论