banner
Hi my new friend!

前端面试高频题:事件循环 Event Loop

Scroll down

什么是事件循环?

JavaScript 是单线程语言,通过事件循环机制实现异步操作。

执行顺序

  1. 执行同步代码(执行栈)
  2. 遇到异步任务,交给 Web API 处理
  3. 微任务队列清空
  4. 取出一个宏任务执行
  5. 重复上述步骤
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 执行顺序的基础,面试必问。

  • 本文作者:async
  • 本文链接:
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
其他文章