关于addRootToSchedule的expirationTime
来源:4-3 requestWork
calimanco
2019-12-29
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一样的。
这个过程也没有异步的可能。
这里的意义不明,视频里也没说明,这里求教,望解答。
写回答
1回答
-
Jokcy
2019-12-29
addRootToSchedule是只有一个地方调用么?
012019-12-29
相似问题