浏览器中的事件循环如何同时处理事件队列、作业队列、渲染队列?

问题描述

上周我开始使用 nodejs 学习 Javascript 后端。在使用 async 函数时,我想全面了解这一点,并开始对此主题进行研究。
我找到了 Jake Archibald's presentation in jsconf 并试图了解事件循环是什么以及事件循环如何在不同队列中运行以及它可以处理哪些队列。

我认为本演示文稿中的一张图表非常适合理解所有内容

screenshot from linked video

但我想知道事件循环如何处理由承诺回调组成的作业队列。
我们可以为这个队列在这个图中添加另一条路线吗?

diagram showing 3 loops labeled "Event queue","Render Queue" and "Microtask Queue",around a fourth unlabeled

。 (我试图将它实现到图表中 :) )

我想知道的另一个问题是,事件循环对渲染队列有什么作用? 事件循环是否将其发送到另一个地方?因为我们知道事件循环会将事件队列或作业队列中的函数发送到javascript引擎中的调用栈来运行这些。
但是渲染队列有请求动画帧和其他样式元素。
事件循环是否将请求动画帧部分发送到 javascript 引擎并将其他布局、样式和绘制部分发送到布局引擎?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)