2022-07-19
Work Research
오늘은 반드시 WorkerDOM Scheduler를 잡아내자.
2022-07-11에 확인한 2가지 스케줄러를 확인한다.
Web Worker Thread에서 나타난 AnimationFrame.ts
은 requestAnimationFrame
에 관련된 것으로 보이고 Data Transfer과는 무관해보인다 (불확실).
즉 자세하게 봐야하는 것은 WorkerDOMConfiguration
에 나온 다음 부분이다.
export interface WorkerDOMConfiguration {
// ...
// ---- Optional, with defaults
// Schedules mutation phase.
mutationPump: MutationPumpFunction
// ---- Optional Overrides
// Schedules long task.
longTask?: LongTaskFunction
// ...
}
LongTaskFunction
의 차이는 Promise
가 있다는 것이다.
MutationPumpFunction
의 타입 정의는 다음과 같다.
export type MutationPumpFunction = (flush: Function, phase: Phase) => void
flush
는 무언가 뒷정리를 하는 함수처럼 보인다 (불확실).
Phase
는 다음과 같다.
export const enum Phase {
Initializing = 0,
Hydrating = 1,
Mutating = 2,
}