FastDOM - 每 17 毫秒读/写一次?

FastDOM - Read / write every 17ms?

FastDOM - 一个小型库,批量 DOM 读取和写入 raf (requestAnimationFrames)。

https://github.com/wilsonpage/fastdom

我已经阅读了代码,但是,我很难理解它是如何工作的。以下是我们的一些假设: - 浏览器一般设置为 60fps - 所以一秒内最多可以有60raf

也就是说,每个 FastDOM 读/写批处理将在 17 毫秒(1000 毫秒/60 帧/秒)后 运行。这不会很慢,因为一个函数可能会一个接一个地进行读/写调用吗?

显然上述情况并非如此,但是,我很困惑,希望得到澄清。

谢谢,

两种类型的 DOM 操作 (read/write) 都有自己的作业队列。每 requestAnimationFrame

刷新每个队列(例如 中的所有 个作业 ran/executed)

例如,如果您在 5 毫秒内添加 100 个读取操作(例如在循环期间),所有这些读取操作将(很可能)在下次刷新 read 队列时发生(这可能是添加最后一个作业后的 1 毫秒,或者是添加最后一个作业后的 16.66667 毫秒)。

仔细阅读源代码,它写得很好,评论也很好。