Scheduler

Limited availability

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

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das Scheduler-Interface der Prioritized Task Scheduling API bietet Methoden zum Planen priorisierter Aufgaben.

Ein Scheduler kann von der globalen Objektinstanz über Window.scheduler oder WorkerGlobalScope.scheduler innerhalb eines Workers abgerufen werden.

Instanzeigenschaften

Keine.

Instanzmethoden

Scheduler.postTask()

Fügt dem Scheduler eine Aufgabe als Callback hinzu, wobei optional eine Priorität, eine Verzögerung und/oder ein Signal zum Abbrechen der Aufgabe angegeben werden kann.

Scheduler.yield()

Gibt die Kontrolle über den Haupt-Thread an den Browser zurück, wobei ein Promise zurückgegeben wird, das die Ausführung dort fortsetzt, wo sie unterbrochen wurde.

Beispiele

Wenn die Funktion definiert ist, wird eine Instanz dieses Objekts durch die globalThis-Eigenschaft sowohl in Workern als auch im Haupt-Thread zurückgegeben.

Der folgende Code zeigt eine einfache Aufgabe, die mit dem Text 'Task executing' aufgelöst wird. Dieser Text wird bei Erfolg protokolliert. Der Code zeigt auch einen catch-Block, der in komplexeren Code erforderlich wäre, um zu verarbeiten, wenn eine Aufgabe abgebrochen wird oder einen Fehler auslöst.

js
if ("scheduler" in this) {
  // Post task with default priority: 'user-visible' (no other options)
  // When the task resolves, Promise.then() logs the result.
  scheduler
    .postTask(() => "Task executing")
    .then((taskResult) => console.log(`${taskResult}`)) // Log result
    .catch((error) => console.error(`Error: ${error}`)); // Log errors
}

Für umfassendere Beispielcodes siehe Prioritized Task Scheduling API > Beispiele.

Spezifikationen

Specification
Prioritized Task Scheduling
# scheduler

Browser-Kompatibilität