在 JavaScript 的事件循环 (Event Loop) 机制中,宏任务 (MacroTask) 和微任务 (MicroTask) 是处理异步操作的两种不同类型的任务队列。 它们最核心的区别在于 执行时机 和 优先级。 1. 核心区别总结 宏任务 (MacroTask):代表一个个独立的、离散的工作单元。浏览器完成一个宏任务后,通常会进行 UI 渲染,然后再执行下一个宏任务。 微任务 (MicroTask):代表需要“立即”执行的小任务。它们会在当前宏任务结束后、UI 渲染之前、以及下一个宏任务开始之前全部执行完毕。 一句话口诀: 同步代码先执行,微任务紧跟其后清空队列,最后才轮到下一个宏任务。 --- 2. 常见的任务分类 | 分类 | 浏览器环境常见 API | Node.js 环境常见 API | | :--- | :--- | :--- | | 宏任务 (MacroTask) | <br><br> (整体代码)<br>UI 渲染<br>I/O (网络请求完成等) | <br>I/O 操作 | | 微任务 (MicroTask) | / / <br> | (优先级最高...