为了账号安全,请及时绑定邮箱和手机立即绑定

两分钟理解事件循环

2分钟理解事件循环

什么是事件循环?

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

事件循环是如何工作的?

  1. 单线程执行: JavaScript 是 单线程 的,意味着它一次只能执行一个任务。这由 调用栈 来管理,函数以 同步 方式(即依次执行)来执行。

  2. 调用栈:JavaScript中的主线程,用于执行同步代码。它跟踪当前正在执行的函数。
    把调用栈想象成一摞盘子。
    每次调用一个函数时,
    都会在栈上添加一个新的盘子(函数)。
    当一个函数完成时,
    它的盘子(函数)就会从栈上移除。

进入全屏模式 退出全屏模式

  1. Web APIs : 对于像 setTimeoutHTTP RequestsfetchDOM Events 这样的异步操作,JavaScript 使用浏览器提供的 Web APIs。这些操作在调用栈之外处理。

  2. 回调队列:当异步操作完成时,回调函数会被添加到回调队列中。这个队列会在调用栈为空时,将回调函数推入调用栈。

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

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

这便是事件循环的精髓!它是JavaScript运行时环境中的一个关键部分,确保异步操作被高效处理,并使应用程序保持响应。

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消