2023-04-11 · JavaScript

理解 JavaScript 的事件循环

追踪一个任务如何从调用栈、微任务队列,最后排到屏幕上。

前言

setTimeout(fn, 0) 并不是零秒,await 也不是魔法。这篇文章用图解与小实验,带你看任务(task)、微任务(microtask)与浏览器渲染如何交错执行。

核心心智模型

  • 从最小可运行的版本开始,并让它可观测。
  • 把你正在承担的取舍写下来,而不只是写下交付了什么功能。
  • 团队规模变化时重新审视决策;JavaScript 里的多数选择都有保质期。

动手起点

  1. 在实验分支重现问题,放在你信得过的度量指标旁边。
  2. 一次只改变一个变量,让 diff 小到能用一句话解释清楚。
  3. 保留成果,丢掉脚手架。
Terminal window
git switch -c experiment/one-thing

写在最后

这里没有教条。把它当作一份你有权不同意的检查清单——最好附上你自己的实验结论。