Posttask:react的杀手锏被浏览器原生实现了?

Posted by Turingdo Studio on September 12, 2021

postTask:React的杀手锏被浏览器原生实现了?

postTask:React的杀手锏被浏览器原生实现了?

根据任务优先级将任务拆解,分配执行时间的技术,就是优先级调度。 scheduler.postTask是Chrome实现的优先级调度API

之前是如何实现优先级调度的

在scheduler.postTask出现之前,通常使用浏览器提供的会在不同阶段调用的API模拟优先级调度,比如:

  • requestAnimationFrame(简称 rAF) 一般用来处理动画,会在浏览器渲染前触发
  • requestIdleCallback(简称rIC) 在每一帧没有其他任务的空闲时间调用
  • setTimeout、postMessage、MessageChannel在渲染之间触发

React 使用MessageChannel实现优先级调度,setTimeout作为降级方案