From 89cec1bb0298badf2759a291df223ed0a6e2c2a4 Mon Sep 17 00:00:00 2001 From: laughing <844534780@qq.com> Date: Thu, 17 Jun 2021 19:44:57 +0800 Subject: [PATCH] Update newConstructure.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新React放弃使用requestIdleCallback的原因 --- docs/preparation/newConstructure.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/preparation/newConstructure.md b/docs/preparation/newConstructure.md index 7aa54bb..03ce98e 100644 --- a/docs/preparation/newConstructure.md +++ b/docs/preparation/newConstructure.md @@ -17,6 +17,7 @@ React16架构可以分为三层: 其实部分浏览器已经实现了这个API,这就是[requestIdleCallback](https://developer.mozilla.org/zh-CN/docs/Web/API/Window/requestIdleCallback)。但是由于以下因素,`React`放弃使用: - 浏览器兼容性 +- `requestIdleCallback`的FPS只有20,远远低于页面流畅度的要求(一般FPS为60) - 触发频率不稳定,受很多因素影响。比如当我们的浏览器切换tab后,之前tab注册的`requestIdleCallback`触发的频率会变得很低 基于以上原因,`React`实现了功能更完备的`requestIdleCallback`polyfill,这就是**Scheduler**。除了在空闲时触发回调的功能外,**Scheduler**还提供了多种调度优先级供任务设置。