什么是事件循环?
JavaScript 是单线程语言,通过事件循环机制实现异步操作。
执行顺序
- 执行同步代码(执行栈)
- 遇到异步任务,交给 Web API 处理
- 微任务队列清空
- 取出一个宏任务执行
- 重复上述步骤
ts
console.log('1')
setTimeout(() => console.log('2'), 0)
Promise.resolve().then(() => console.log('3'))
console.log('4')
// 输出: 1, 4, 3, 2宏任务 vs 微任务
| 类型 | 常见 API |
|---|---|
| 宏任务 | setTimeout, setInterval, I/O, UI 渲染 |
| 微任务 | Promise.then, MutationObserver, queueMicrotask |
面试要点
理解事件循环是理解 async/await、Promise 执行顺序的基础,面试必问。
- 本文链接:
- 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
