Event Loop 六个阶段

  1. timers:执行 setTimeout/setInterval
  2. pending callbacks:I/O 错误回调
  3. idle/prepare:内部使用
  4. poll:等待新的 I/O 事件
  5. check:setImmediate 回调
  6. close callbacks:关闭事件

Worker Threads 处理 CPU 密集

import { Worker, isMainThread, parentPort } from "worker_threads";
if (isMainThread) {
  const w = new Worker(import.meta.url);
  w.on("message", (result) => console.log("Result:", result));
} else {
  parentPort.postMessage(heavyCompute());
}

内存泄漏定位

使用 --inspect 启动后,在 Chrome DevTools Profiler 中拍摄堆快照,对比两个快照的 Delta 找出未释放的对象。