Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

js
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 :

js
// 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.

js
// 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