Creates an instance of MacrotaskScheduler.
The callback to be executed in the next macrotask 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
optionsOptions for the timeout scheduler.
Protected
shouldIndicates whether the scheduler should be scheduled on unfreeze.
Protected
timeoutHandle returned by setTimeout(). Value depends on the environment:
Indicates whether the scheduler is frozen.
Indicates whether the scheduler is currently scheduled.
Protected
isIndicates whether the scheduler is currently scheduled.
Cancels the scheduled callback.
Protected
cancelCancels the scheduled callback. If no callback 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 after the specified delay.
If the scheduler is already scheduled, it will not reschedule it unless the restartTimer
option is set to "onEveryScheduleCall".
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
MacrotaskScheduler is a scheduler that executes the callback in the next macrotask queue. Uses setTimeout with a delay of 0 milliseconds.