Window: requestIdleCallback() Methode
Die window.requestIdleCallback()
Methode stellt eine Funktion in die Warteschlange, die während der Leerlaufzeiten eines Browsers aufgerufen werden soll. Dies ermöglicht es Entwicklern, Hintergrund- und niedrig priorisierte Arbeiten in der Haupt-Ereignisschleife auszuführen, ohne latenzkritische Ereignisse wie Animationen und Eingabereaktionen zu beeinträchtigen. Funktionen werden in der Regel in der Reihenfolge des Eintreffens (first-in-first-out) aufgerufen; Callbacks, die eine timeout
-Angabe haben, können jedoch bei Bedarf außer der Reihe aufgerufen werden, um sie vor Ablauf des Zeitlimits auszuführen.
Sie können requestIdleCallback()
innerhalb einer Leerlauf-Callback-Funktion aufrufen, um einen weiteren Callback zu planen, der frühestens beim nächsten Durchlauf der Ereignisschleife stattfinden soll.
Hinweis:
Eine timeout
-Option wird für erforderliche Arbeiten nachdrücklich empfohlen, da sonst möglicherweise mehrere Sekunden vergehen, bevor der Callback ausgelöst wird.
Syntax
requestIdleCallback(callback)
requestIdleCallback(callback, options)
Parameter
callback
-
Eine Referenz auf eine Funktion, die in naher Zukunft aufgerufen werden soll, wenn die Ereignisschleife im Leerlauf ist. Der Callback-Funktion wird ein
IdleDeadline
Objekt übergeben, das die verfügbare Zeit beschreibt und ob der Callback ausgeführt wurde, weil die Zeitüberschreitung abgelaufen ist. options
Optional-
Beinhaltet optionale Konfigurationsparameter. Derzeit ist nur eine Eigenschaft definiert:
timeout
-
Wenn die durch diesen Parameter dargestellte Millisekundenanzahl verstrichen ist und der Callback noch nicht aufgerufen wurde, wird eine Aufgabe zur Ausführung des Callbacks in die Ereignisschleife gestellt (auch wenn dies ein Risiko negativer Leistungsauswirkungen birgt).
timeout
muss einen positiven Wert haben oder wird ignoriert.
Rückgabewert
Eine ID, die verwendet werden kann, um den Callback abzubrechen, indem sie in die window.cancelIdleCallback()
Methode übergeben wird.
Beispiele
Siehe unser vollständiges Beispiel im Artikel Kooperative Planung der Hintergrundaufgaben-API.
Spezifikationen
Specification |
---|
requestIdleCallback() Cooperative Scheduling of Background Tasks # the-requestidlecallback-method |
Browser-Kompatibilität
BCD tables only load in the browser