Window: scheduler property

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The scheduler read-only property of the Window interface is the entry point for using the Prioritized Task Scheduling API.

It returns a Scheduler object instance containing postTask() and yield() methods that can be used to schedule prioritized tasks.

Value

Examples

The code below shows a very basic use of the property and its associated interface. It demonstrates how to check that the property exists and then posts a task that returns a promise.

js
// Check if the prioritized task API is supported
if ("scheduler" in window) {
  // Callback function - "the task"
  const myTask = () => "Task 1: user-visible";

  // Post task with default priority: 'user-visible' (no other options)
  // When the task resolves, Promise.then() logs the result.
  window.scheduler
    .postTask(myTask)
    // Handle resolved value
    .then((taskResult) => console.log(`${taskResult}`))
    // Handle error or abort
    .catch((error) => console.log(`Error: ${error}`));
} else {
  console.log("Feature: NOT Supported");
}

For comprehensive example code showing to use the API see Prioritized Task Scheduling API > Examples.

Specifications

Specification
Prioritized Task Scheduling
# dom-windoworworkerglobalscope-scheduler

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
scheduler

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
User must explicitly enable this feature.

See also