IdleDeadline: timeRemaining() Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more support for this feature? Tell us why.
Die timeRemaining() Methode
der IdleDeadline-Schnittstelle gibt die geschätzte Anzahl von Millisekunden zurück, die der User-Agent noch im Ruhezustand bleiben wird. Der Callback kann diese Methode jederzeit aufrufen, um zu bestimmen, wie lange er weiterarbeiten kann, bevor er zurückkehren muss. Zum Beispiel, wenn der Callback eine Aufgabe beendet hat und eine neue beginnen möchte, kann er timeRemaining() aufrufen, um zu sehen, ob genug Zeit ist, die nächste Aufgabe abzuschließen. Wenn nicht, kann der Callback einfach sofort zurückkehren oder nach anderer Arbeit suchen, die mit der verbleibenden Zeit erledigt werden kann.
Bis timeRemaining() den Wert 0 erreicht, sollte der Callback die Kontrolle an die Ereignisschleife des User-Agents zurückgeben.
Hinweis:
Der von timeRemaining() zurückgegebene Wert ist eine Schätzung, wie viel Zeit der User-Agent glaubt, verfügbar zu haben, bevor die nächste latenzkritische Aufgabe ausgeführt werden muss. Diese Schätzung ist nicht fest und kann plötzlich auf 0 fallen, wenn höher priorisierte Arbeiten eintreffen. Beispielsweise kann sich die Schätzung des Browsers in der Mitte eines Leerlauf-Callbacks ändern, wenn der Benutzer klickt. Entwickler sollten nicht davon ausgehen, dass der Wert sich immer linear wie ein Countdown-Timer verringert.
Syntax
timeRemaining()
Parameter
Keine.
Rückgabewert
Ein DOMHighResTimeStamp-Wert (der eine Gleitkommazahl ist), der die Anzahl von Millisekunden darstellt, die der User-Agent im aktuellen Leerlaufzeitraum schätzt. Dieser Wert ist idealerweise bis auf etwa 5 Mikrosekunden genau.
Wenn die IdleDeadline-Eigenschaft didTimeout wahr ist, gibt diese Methode null zurück.
Beispiele
Sehen Sie sich unser komplettes Beispiel im Artikel Kooperative Terminplanung von Hintergrundaufgaben API an.
Spezifikationen
| Spezifikation |
|---|
| requestIdleCallback()> # dom-idledeadline-timeremaining> |