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
# ref-for-dom-response-error①

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
error() static method

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch