Skip to content

事件循环

什么是事件循环

事件循环机制是 JavaScript 实现非阻塞异步编程的核心原理。

事件循环的执行过程

参考代码
js
console.log("Test Start");
setTimeout(() => console.log("setTimeout"), 0);
Promise.resolve("Promise").then((res) => console.log(res));
console.log("Test End");

// Test Start
// Test End
// Promise
// setTimeout

首先以同步方式执行代码,然后事件循环将检查微任务队列。

如果微任务队列不为空,则依次执行队列中的任务,直到队列被清空。

微任务队列中的任务清空后,事件循环会从宏任务队列中取出一个任务执行。

每执行完一个宏任务,事件循环会再次检查微任务队列,重复上述过程。