Creates an instance of MicrotaskScheduler.
The callback to be executed in the next microtask queue.
Protected
_Indicates whether the scheduler is frozen.
Protected
allowIndicates whether the scheduler allows scheduling (scheduleCore() call) when it is already scheduled. This can be overridden in subclasses to change the default behavior.
Protected
callbackThe callback function to be executed by the scheduler.
Protected
microtaskInternal microtask handle that can be used to read current state of the microtask and to manage it (e.g. cancel it). If no microtask is scheduled, this handle is null.
Protected
shouldIndicates whether the scheduler should be scheduled on unfreeze.
Indicates whether the scheduler is frozen.
Indicates whether the scheduler is currently scheduled.
Protected
isIndicates whether the scheduler is scheduled.
Cancels the scheduled callback.
Protected
cancelCancels the scheduled microtask. If no microtask is scheduled, this method does nothing.
Protected
executeExecutes the callback immediately.
Freezes the scheduler, preventing it from executing the callback. If the scheduler is currently scheduled, it will be canceled and then rescheduled on unfreeze(). If the scheduler is already frozen, this method does nothing.
Schedules the callback to be executed. If the scheduler is already scheduled, it does nothing. If the scheduler is frozen, it will be scheduled on unfreeze().
Protected
scheduleSchedules the callback to be executed in the next microtask queue. If the scheduler is already scheduled, it will not reschedule it.
Unfreezes the scheduler, allowing it to execute the callback again. If the scheduler was frozen with a scheduled callback, it will be rescheduled. If schedule() was called while frozen, it will be scheduled now. If the scheduler is not frozen, this method does nothing.
Protected
Static
callCalls the provided callback function.
The callback function to be executed.
Static
single
MicrotaskScheduler is a scheduler that executes the callback in the next microtask queue. It uses queueMicrotask() to schedule the callback.