这是过去的说法,根据 W3C 的最新解释:
每个任务都有⼀个任务类型,同⼀个类型的任务必须在⼀个队列,不同类型
的任务可以分属于不同的队列。
在⼀次事件循环中,浏览器可以根据实际情况从不同的队列中取出任务执
⾏。
浏览器必须准备好⼀个微队列,微队列中的任务优先所有其他任务执⾏
https://html.spec.whatwg.org/multipage/webappapis.html#p
erform-a-microtask-checkpoint
随着浏览器的复杂度急剧提升,W3C 不再使⽤宏队列的说法
在⽬前 chrome 的实现中,⾄少包含了下⾯的队列:
延时队列:⽤于存放计时器到达后的回调任务,优先级「中」
交互队列:⽤于存放⽤户操作后产⽣的事件处理任务,优先级「⾼」
微队列:⽤户存放需要最快执⾏的任务,优先级「最⾼」
请看另一篇事件循环
https://www.jianshu.com/p/21c0c06a9e2b