IDBRequest.onsuccess

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Le gestionnaire d'événement onsuccess de l'interface IDBRequest capte l'événement success, déclenché quand la requête réussie.

Le gestionnaire d'événement un événement success avec le type="success" en paramètre.

Note : Cette fonctionnalité est disponible via les Web Workers.

Syntaxe

js
request.onsuccess = function( event ) { ... };

Exemple

L'exemple suivant demande un titre d'enregistrement donné, onsuccess obtient l'enregistrement associé de IDBObjectStore (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 requête échoue. Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

js
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

Specification
Indexed Database API 3.0
# eventdef-idbrequest-success

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi