addRootToSchedule函数里有关加入调度队列的方法里都会:
root.expirationTime = expirationTime;
以及更新优先级的方法:
const remainingExpirationTime = root.expirationTime;
if (
remainingExpirationTime === NoWork ||
expirationTime < remainingExpirationTime
) {
// Update the priority.
root.expirationTime = expirationTime;
}
这里感觉很多余,因为传入addRootToSchedule的expirationTime从requestWork那里透传过来,而requestWork的expirationTime来自scheduleWork。
在scheduleWork的调用里有一段:
const rootExpirationTime = root.expirationTime;
requestWork(root, rootExpirationTime);
明显本身expirationTime就已经是当前FiberRoot上的expirationTime;remainingExpirationTime理论上就是跟expirationTime一样的。
这个过程也没有异步的可能。
这里的意义不明,视频里也没说明,这里求教,望解答。