Fetch API
Die Fetch API bietet eine Schnittstelle zum Abrufen von Ressourcen (einschließlich über das Netzwerk). Sie ist ein leistungsstärkerer und flexiblerer Ersatz für XMLHttpRequest.
Konzepte und Nutzung
Die Fetch API verwendet Request- und Response-Objekte (sowie andere Dinge, die mit Netzwerk-Anfragen zu tun haben) und verwandte Konzepte wie CORS und die HTTP Origin-Header-Semantik.
Zum Ausführen einer Anfrage und Abrufen einer Ressource verwenden Sie die fetch()-Methode. Sie ist eine globale Methode im Kontext von sowohl Window als auch Worker. Das macht sie in praktisch jedem Kontext verfügbar, in dem Sie Ressourcen abrufen möchten.
Die fetch()-Methode erfordert ein obligatorisches Argument: den Pfad zur Ressource, die Sie abrufen möchten. Sie gibt ein Promise zurück, das zur Response dieser Anfrage aufgelöst wird – sobald der Server mit den Headern antwortet – selbst wenn die Serverantwort einen HTTP-Fehlerstatus hat. Optional können Sie auch ein init-Optionsobjekt als zweites Argument übergeben (siehe Request).
Sobald eine Response abgerufen wird, stehen mehrere Methoden zur Verfügung, um zu definieren, was der Inhaltskörper ist und wie er behandelt werden sollte.
Sie können eine Anfrage und Antwort direkt mit den Konstruktoren Request() und Response() erstellen, aber es ist unüblich, dies direkt zu tun. Stattdessen werden diese eher als Ergebnisse anderer API-Aktionen erstellt (zum Beispiel FetchEvent.respondWith() aus Service-Worker-Aktionen).
Erfahren Sie mehr über die Verwendung der Fetch API-Funktionen in Verwendung von Fetch.
Deferred Fetch
Die fetchLater()-API ermöglicht es einem Entwickler, einen aufgeschobenen Abruf anzufordern, der nach einer bestimmten Zeit oder wenn die Seite geschlossen oder weg navigiert wird, gesendet werden kann. Siehe Verwendung von Deferred Fetch.
Schnittstellen
Window.fetch()undWorkerGlobalScope.fetch()-
Die
fetch()-Methode, die zum Abrufen einer Ressource verwendet wird. Window.fetchLater()-
Wird verwendet, um eine aufgeschobene Abrufanforderung zu stellen.
DeferredRequestInit-
Repräsentiert die Menge an Optionen, die verwendet werden können, um eine aufgeschobene Abrufanforderung zu konfigurieren.
FetchLaterResult-
Repräsentiert das Ergebnis der Anforderung eines aufgeschobenen Abrufs.
Headers-
Repräsentiert Antwort-/Anfrageheader, die Sie abfragen und abhängig von den Ergebnissen unterschiedliche Aktionen ausführen können.
Request-
Repräsentiert eine Ressourcengebrauchsanfrage.
Response-
Repräsentiert die Antwort auf eine Anfrage.
HTTP-Header
deferred-fetch-
Kontrolliert das Quota auf höchster Ebene für die
fetchLater()-API. deferred-fetch-minimal-
Kontrolliert das gemeinsame Quota für Cross-Origin-Untersubframes für die
fetchLater()-API.
Spezifikationen
| Specification |
|---|
| Fetch> # fetch-method> |
| Fetch> # deferred-fetch> |