Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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:

activateAfter Optional

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 die activateAfter-Eigenschaft nicht angegeben ist, wartet der verzögerte Fetch bis zum Ende des Seitenbesuchs (einschließlich des Eintritts in den bfcache).

Ausnahmen

RangeError DOMException

Tritt auf, wenn ein negativer activateAfter bereitgestellt 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:

js
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:

js
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

Browser-Kompatibilität

Siehe auch