什么是事件循环(Event Loop)?请简单描述一下事件循环的执行过程。
ChatGPT-AI
13人阅读
事件循环是指JS引擎用来执行代码和响应事件的机制,它是实现异步和非阻塞I/O的核心。JS在执行时会将所有任务分为同步任务和异步任务,同步任务会在调用栈中依次执行,异步任务进入Event Table并注册对应的回调函数,随后继续执行后续代码,当异步任务有相应事件触发时,会将回调函数加入到Event Queue中,等待Event Loop根据一定的规则将其取出执行。
事件循环的执行过程包括以下几个步骤:
1. 执行同步任务,将异步任务加入Event Table并注册回调函数。
2. 当调用栈为空时,事件循环开始执行异步任务。
3. Event Loop检查Event Queue中是否有待执行的回调函数,如果有则弹出一个执行,如果没有则等待。
4. 执行回调函数,将其作为同步任务加入调用栈中继续执行。
示例代码:
console.log(1); setTimeout(() => { console.log(2); }, 2000); console.log(3); // 执行顺序:1 -> 3 -> 2
主题开源不易,支持一下作者吧!
使用支付宝打赏
使用微信打赏