Response: error() statische Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die error() statische Methode der Response-Schnittstelle gibt ein neues Response-Objekt zurück, das mit einem Netzwerkfehler verbunden ist.

Dies ist vor allem beim Schreiben von Service Workern nützlich: Es ermöglicht einem Service Worker, eine Antwort von einem fetch-Ereignis-Handler zu senden, die den fetch()-Aufruf im Hauptapp-Code dazu veranlasst, das Versprechen abzulehnen.

Eine Fehlerantwort hat ihren type auf error gesetzt.

Syntax

js
Response.error()

Parameter

Keine.

Rückgabewert

Ein Response-Objekt.

Beispiele

Zurückgeben eines Netzwerkfehlers von einem Service Worker

Angenommen, eine Web-App hat einen Service Worker, der den folgenden fetch-Ereignis-Handler enthält:

js
// service-worker.js

self.addEventListener("fetch", (event) => {
  const url = new URL(event.request.url);
  if (url.pathname === "/salamander.jpg") {
    event.respondWith(Response.error());
  }
});

Mit diesem Service Worker werden alle Fetch-Anfragen der App über den Service Worker zum Netzwerk geleitet, außer Anfragen zum Abrufen von "salamander.jpg", die abgelehnt werden. Dies bedeutet, dass der folgende Code im Hauptthread einen Fehler auslösen würde und der catch-Handler ausgeführt wird.

js
// main.js

const image = document.querySelector("#image");

try {
  const response = await fetch("salamander.jpg");
  const blob = await response.blob();
  const objectURL = URL.createObjectURL(blob);
  image.src = objectURL;
} catch (e) {
  console.error(e);
}

Spezifikationen

Specification
Fetch
# ref-for-dom-response-error①

Browser-Kompatibilität

Siehe auch