首页 经验

前端面试 js事件循环机制

时间: 2024-10-21 12:05:07

(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)

js事件循环机制

JavaScript的事件循环(Event Loop)是其异步执行的核心机制之一,用于处理非阻塞I/O操作和回调函数。简单来说,它是浏览器或Node.js环境中的一个重要调度器,负责监听并管理任务队列。

任务队列:分为两种类型:宏任务(macro-task)和微任务(micro-task)。宏任务包括setTimeout、setInterval、DOM操作、网络请求等;微任务如Promise.resolve、MutationObserver等。

执行栈:当前正在运行的同步代码所构成的栈。

事件循环过程:

执行栈中的同步代码执行完毕后,会检查是否有微任务,如果有则先执行微任务直到队列为空。

接着,执行下一个宏任务。这个过程中如果遇到新的微任务,会插入到微任务队列中,并继续执行当前宏任务。

当宏任务完成,再次检查微任务队列,如有微任务,则执行它们,如此反复。

轮询检测:事件循环不是被动等待,而是通过定期的轮询检查是否有可执行的任务。

了解了事件循环机制有助于优化异步代码,避免阻塞UI线程,提高应用性能。


上一个 em的特点 文章列表 下一个 组件封装过程

最新

工具

© 2019-至今 适观科技

沪ICP备17002269号