JS中的事件循环

浏览器与 Node.js 事件循环差异对比。

#type / synthesis #status / growing #resource / javascript #resource / nodejs #platform / browser

[!info] related notes

JS 中的事件循环

这篇笔记不再回答“事件循环是什么”,那部分收敛到 js事件循环

这里专门比较:同样叫事件循环,浏览器和 Node.js 到底差在哪。

共同前提

  • JavaScript 都先执行当前同步代码
  • 异步回调不会立刻插队
  • Promise 回调都要回到微任务体系理解

如果这部分还不稳,先回到 js事件循环

浏览器更关注什么

  • 宏任务 / 微任务 / 渲染时机
  • DOM 事件和页面渲染协同
  • 微任务清空后通常才有机会进入渲染

Node.js 更关注什么

  • libuv 驱动的多阶段循环
  • timerspollcheck 等阶段差异
  • setImmediateprocess.nextTick 等宿主特有细节

最重要的区别

对比项浏览器Node.js
关注重点页面交互与渲染I/O 与服务器任务调度
常见心智模型宏任务 / 微任务 / 渲染多阶段循环 + 微任务
特有点DOM 事件、渲染时机setImmediateprocess.nextTick、libuv

如何使用这两篇笔记

创建于 2025/1/1 更新于 2026/5/27