--- title: IDBRequest.onerror slug: Web/API/IDBRequest/onerror translation_of: Web/API/IDBRequest/onerror ---

{{ APIRef("IndexedDB") }}

le gestionnaire d'événement onerror de l'interface {{domxref("IDBRequest")}} capte l'événement error, déclenché quand une requête renvoie une erreur.

Le gestionnaire d'événement reçoit l'événement error avec le type="error" en paramètre.

{{AvailableInWorkers}}

Syntaxe

request.onerror = function( event ) { ... };

Exemple

L'exemple suivant demande un titre d'enregistrement donné, onsuccess obtient l'enregistrement associé au {{domxref("IDBObjectStore","magasin d'objets")}} (mis à disposition en tant que objectStoreTitleRequest.result), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement onerror affiche le code d'erreur si la {{domxref("IDBRequest","requête")}} échoue. Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

var title = "Walk dog";

// Ouvrez une transaction comme d'habitude
var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');

// Obtenez l'objet toDoList qui a ce titre
var objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function() {
  // Prenez l'objet de données renvoyé comme résultat
  var data = objectStoreTitleRequest.result;

  // Mettre à jour la valeur notified de l'objet à "yes"
  data.notified = "yes";

  // Créer une autre requête qui insère le nouvelle élément dans la base de données
  var updateTitleRequest = objectStore.put(data);

  // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage
  updateTitleRequest.onsuccess = function() {
    displayData();
  };
};

objectStoreTitleRequest.onerror = function() {
  // Si une erreur se produit à la demande, on l'affiche
  console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error);
};

Spécifications

Spécification Statut Commentaire
{{SpecName('IndexedDB', '#widl-IDBRequest-onerror', 'onerror')}} {{Spec2('IndexedDB')}}  

Compatibilité des navigateurs

{{Compat("api.IDBRequest.onerror")}}

Voir aussi