两分钟理解事件循环
什么是事件循环?
事件循环是JavaScript中的一种机制,它允许运行时处理异步操作。通过在一个单线程环境中管理多个任务的执行,事件循环确保JavaScript保持响应性和非阻塞。
事件循环是如何工作的?
-
单线程执行: JavaScript 是
单线程
的,意味着它一次只能执行一个任务。这由调用栈
来管理,函数以同步
方式(即依次执行)来执行。 - 调用栈:JavaScript中的主线程,用于执行同步代码。它跟踪当前正在执行的函数。
把调用栈想象成一摞盘子。
每次调用一个函数时,
都会在栈上添加一个新的盘子(函数)。
当一个函数完成时,
它的盘子(函数)就会从栈上移除。
进入全屏模式 退出全屏模式
-
Web APIs : 对于像
setTimeout
、HTTP Requests
、fetch
和DOM Events
这样的异步操作,JavaScript 使用浏览器提供的 Web APIs。这些操作在调用栈之外处理。 -
回调队列:当异步操作完成时,回调函数会被添加到回调队列中。这个队列会在调用栈为空时,将回调函数推入调用栈。
-
事件循环:事件循环会持续检查调用栈和回调队列。如果调用栈为空,它会将回调队列中的第一个函数移到调用栈中执行。
- 微任务队列:对于Promise和Mutation Observer,JavaScript维护一个单独的队列,称为微任务队列。微任务的优先级高于回调队列中的任务。事件循环首先检查微任务队列,然后是回调队列。
这便是事件循环的精髓!它是JavaScript运行时环境中的一个关键部分,确保异步操作被高效处理,并使应用程序保持响应。
面试官 : 欢迎加入团队!! 😎🚀
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦