DeferredRequestInit
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das DeferredRequestInit Wörterbuch der Fetch API repräsentiert die Menge an Optionen, die verwendet werden können, um eine verzögerte Fetch-Anfrage zu konfigurieren.
Das DeferredRequestInit-Objekt wird direkt in den Funktionsaufruf window.fetchLater() als zweites Argument übergeben.
Instanzeigenschaften
Dieses Wörterbuch erweitert das RequestInit Wörterbuch durch die Hinzufügung der folgenden Eigenschaften:
activateAfterOptional-
Ein
DOMHighResTimeStamp, der ein Timeout in Millisekunden angibt, nach dem die Fetch-Anfrage gesendet werden sollte. Der Fetch kann früher gesendet werden, wenn die Navigation verlassen wird. Der tatsächliche Versandzeitpunkt ist unbekannt, da der Browser möglicherweise länger oder kürzer wartet, beispielsweise um die Bündelung von verzögerten Fetches zu optimieren. Wenn dieactivateAfter-Eigenschaft nicht angegeben ist, wartet der verzögerte Fetch bis zum Ende des Seitenbesuchs (einschließlich des Eintritts in den bfcache).
Ausnahmen
RangeErrorDOMException-
Tritt auf, wenn ein negativer
activateAfterbereitgestellt wird.
Beispiele
>Eine GET-Anfrage hinauszögern, bis die Seite zerstört oder der bfcache betreten wird
In diesem Beispiel wird kein DeferredRequestInit-Objekt bereitgestellt und es wird kein Timeout verwendet:
fetchLater("/send_beacon");
Eine POST-Anfrage für ungefähr 1 Minute hinauszögern
In diesem Beispiel erstellen wir eine Request und geben einen activateAfter-Wert an, um das Senden der Anfrage um 60.000 Millisekunden (oder eine Minute) zu verzögern:
fetchLater("/send_beacon", {
method: "POST",
body: getBeaconData(),
activateAfter: 60000, // 1 minute
});
Hinweis: Der tatsächliche Sendezeitpunkt ist unbekannt, da der Browser möglicherweise eine längere oder kürzere Zeitspanne wartet, beispielsweise um die Bündelung von verzögerten Fetches zu optimieren.
Spezifikationen
| Specification |
|---|
| Fetch> # deferred-fetch> |