继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

两分钟理解事件循环

德玛西亚99
关注TA
已关注
手记 443
粉丝 92
获赞 559

2分钟理解事件循环

什么是事件循环?

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

事件循环是如何工作的?

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

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

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

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

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

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

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

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

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP