发布于 2026-01-06 10 阅读
0

两分钟事件循环

两分钟事件循环

事件循环持续 2 分钟

什么是事件循环?

事件循环是 JavaScript 中的一种机制,它允许运行时处理异步操作。它通过在单线程环境中管理多个任务的执行,确保 JavaScript 保持响应迅速且非阻塞。

事件循环是如何工作的?

  1. 单线程执行: JavaScript 是单线程的single-threaded,这意味着它一次只能执行一个任务。这是由线程管理的,函数以单线程的方式逐个Call Stack执行。synchronous

  2. 调用栈:JavaScript 中执行同步代码的主线程。它跟踪当前正在执行的函数。

Think of Call Stack as a stack of plates.
Every time a function is called,
a new plate (function) is added to the stack.
When a function completes,
its plate (function) is removed from the stack.
Enter fullscreen mode Exit fullscreen mode
  1. Web API:对于异步操作,例如setTimeout`get( )`、`get()` HTTP Requests、` fetchget()` 和 `get() DOM Events`,JavaScript 使用浏览器提供的 Web API。这些操作在调用栈之外处理。

  2. 回调队列:当异步操作完成时,回调函数会被添加到回调队列中。该队列会等待调用栈清空后,再将回调函数压入调用栈。

  3. 事件循环:事件循环持续检查调用栈和回调队列。如果调用栈为空,则将回调队列中的第一个函数移至调用栈执行。

  4. 微任务队列:对于 Promise 和 Mutation Observer,JavaScript 维护了一个单独的队列,称为微任务队列。微任务的优先级高于回调队列中的任务。事件循环会先检查微任务队列,然后再检查回调队列。

这就是事件循环的简要介绍!它是 JavaScript 运行时环境的关键组成部分,确保异步操作得到高效处理,并保持应用程序的响应速度。

面试官:欢迎加入团队!!😎🚀

文章来源:https://dev.to/bhataasim/event-loop-in-2-minutes-5895