Response: error() statische Methode
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Oktober 2017 browserübergreifend verfügbar.
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
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:
// 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.
// 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
| Spezifikation |
|---|
| Fetch> # ref-for-dom-response-error①> |