DeferredRequestInit
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das DeferredRequestInit-Dictionary der Fetch API enthält die Optionen, mit denen sich eine verzögerte Fetch-Anfrage konfigurieren lässt.
Das DeferredRequestInit-Objekt wird als zweites Argument direkt an die Funktion window.fetchLater() übergeben.
Instanzeigenschaften
Dieses Dictionary erweitert das RequestInit-Dictionary um die folgende Eigenschaft:
activateAfterOptional-
Ein
DOMHighResTimeStamp, der eine Zeitspanne in Millisekunden angibt, nach deren Ablauf die Fetch-Anfrage gesendet werden soll. Beim Verlassen der Seite kann die Anfrage früher gesendet werden. Der tatsächliche Sendezeitpunkt ist unbekannt, da der Browser länger oder kürzer warten kann, beispielsweise um mehrere verzögerte Fetch-Anfragen gebündelt zu senden. Wenn die EigenschaftactivateAfternicht angegeben wird, wartet die verzögerte Fetch-Anfrage bis zum Ende des Seitenbesuchs (einschließlich des Wechsels in den bfcache).
Ausnahmen
RangeError-
Wird ausgelöst, wenn ein negativer Wert für
activateAfterangegeben wird.
Beispiele
>Eine GET-Anfrage verzögern, bis die Seite zerstört wird oder in den bfcache wechselt
In diesem Beispiel wird kein DeferredRequestInit-Objekt angegeben und keine Zeitspanne festgelegt:
fetchLater("/send_beacon");
Eine POST-Anfrage um etwa eine Minute verzögern
In diesem Beispiel erstellen wir ein Request-Objekt und geben für activateAfter einen Wert an, um das Senden der Anfrage um 60.000 Millisekunden (also 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 länger oder kürzer warten kann, beispielsweise um mehrere verzögerte Fetch-Anfragen gebündelt zu senden.
Spezifikationen
| Spezifikation |
|---|
| Fetch> # deferred-fetch> |