me
Event Loop
node.js runtime
0
当前阶段
空闲状态
Call Stack
0
Web APIs
0
Microtask Queue
0
Macrotask Queue
0
执行顺序
event loop phases
1. 执行 Call Stack 中的同步代码
2. 执行所有 Microtasks (Promise.then, queueMicrotask)
3. 执行一个 Macrotask (setTimeout, setInterval)
Web APIs 处理异步操作并将回调推入队列
核心概念
event loop
Call Stack:执行上下文栈,同步代码在这里执行,LIFO (后进先出)
Microtask:优先级最高,Promise.then、queueMicrotask 等
Macrotask:setTimeout、setInterval、I/O 操作等
Web APIs:浏览器提供的异步 API,处理完成后将回调推入队列
代码示例
console.log('1'); // 同步
setTimeout(() => console.log('2'), 0); // 宏任务
Promise.resolve().then(() => console.log('3')); // 微任务
console.log('4'); // 同步
// 输出顺序: 1 → 4 → 3 → 2