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.
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 |