Scheduler
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Das Scheduler
-Interface der Prioritized Task Scheduling API bietet Methoden zum Planen von priorisierten Aufgaben.
Ein Scheduler
kann über das globale Objekt mittels Window.scheduler
oder WorkerGlobalScope.scheduler
innerhalb eines Workers aufgerufen werden.
Instanzeigenschaften
Keine.
Instanzmethoden
Scheduler.postTask()
-
Fügt dem Scheduler eine Aufgabe als Rückruf hinzu und kann optional eine Priorität, Verzögerung und/oder ein Signal zum Abbrechen der Aufgabe angeben.
Scheduler.yield()
Experimentell-
Gibt die Kontrolle des Hauptthreads zurück an den Browser und gibt ein Promise zurück, das die Ausführung an der Stelle fortsetzt, an der sie unterbrochen wurde.
Beispiele
Wenn das Feature definiert ist, wird eine Instanz dieses Objekts durch die globalThis
-Eigenschaft sowohl in Workers als auch im Hauptthread 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 komplexerer Programmierung erforderlich wäre, um den Fall zu behandeln, wenn eine Aufgabe abgebrochen wird oder einen Fehler wirft.
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
BCD tables only load in the browser