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 statische Methode error() der Response-Schnittstelle gibt ein neues Response-Objekt zurück, das mit einem Netzwerkfehler verbunden ist.

Dies ist hauptsächlich nützlich beim Schreiben von Service-Workern: Es ermöglicht einem Service-Worker, eine Antwort von einem fetch-Ereignishandler zu senden, die dazu führt, dass der fetch()-Aufruf im Hauptanwendungscode das Versprechen ablehnt.

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 Webanwendung hat einen Service-Worker, der den folgenden fetch-Ereignishandler 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 Abrufe von der Anwendung durch den Service-Worker zum Netzwerk geleitet, außer Anfragen, um "salamander.jpg" abzurufen, die abgelehnt werden. Das 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 Standard
# ref-for-dom-response-error①

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch