码迷,mamicode.com
首页 > 其他好文 > 详细

Event Loop

时间:2020-02-25 18:21:43      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:同步   一个   str   控制   回调   info   set   任务队列   eve   

技术图片

涉及到的角色:

  • call stack  调用栈
  • event table 事件注册表,主要做异步事件与事件回调的对应关系映射
  • event quene 事件回调队列

1.同步代码直接放入call stack

2.遇到异步 ,如setTimeout ,会先在event table中产生映射,等异步处理完,该执行会调函数的时候,才将会调函数push 到 evevt queue中等待执行

3.如果主线成空闲,就从event queue中shift一个放入 call stack 中执行

4.然后,重复

 

 

其中 队列又分为两种, 如下图: 

微任务,由js 引擎控制,具有优先权,微任务队列清空后,就可以执行渲染UI

 

技术图片

 

Event Loop

标签:同步   一个   str   控制   回调   info   set   任务队列   eve   

原文地址:https://www.cnblogs.com/bigman-bugman/p/12362670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!