Response : méthode statique error()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis octobre 2017.
Note : Cette fonctionnalité est disponible via les Web Workers.
La méthode statique error() de l'interface Response retourne un nouvel objet Response associé à une erreur réseau.
Ceci est principalement utile lors de l'écriture de service workers : cela permet à un service worker d'envoyer une réponse depuis un gestionnaire d'évènements fetch qui fera échouer la promesse de l'appel fetch() dans le code principal.
Une réponse d'erreur a sa type définie sur error.
Syntaxe
Response.error()
Paramètres
Aucun.
Valeur de retour
Un objet Response.
Exemples
>Retourner une erreur réseau depuis un service worker
Supposons qu'une application web possède un service worker, qui contient le gestionnaire d'évènements fetch suivant :
// service-worker.js
self.addEventListener("fetch", (event) => {
const url = new URL(event.request.url);
if (url.pathname === "/salamander.jpg") {
event.respondWith(Response.error());
}
});
Avec ce service worker, toutes les requêtes fetch de l'application passeront par le service worker vers le réseau, sauf les requêtes pour « salamander.jpg » qui échoueront. Cela signifie que le code suivant du thread principal lèvera une erreur, et le gestionnaire catch s'exécutera.
// main.js
const image = document.querySelector("#image");
try {
const reponse = await fetch("salamander.jpg");
const blob = await reponse.blob();
const urlObjet = URL.createObjectURL(blob);
image.src = urlObjet;
} catch (e) {
console.error(e);
}
Spécifications
| Specification |
|---|
| Fetch> # ref-for-dom-response-error①> |
Compatibilité des navigateurs
Voir aussi
- L'API ServiceWorker
- Contrôle d'accès HTTP (CORS)
- La référence HTTP