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: Dieses Feature ist verfügbar in Web Workers.
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
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:
// 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.
// 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