IDBRequest.result

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.

La propriété result, rattachée à l'interface IDBRequest, renvoie le résultat de la requête. Si la requête échoue et que le résultat n'est pas disponible, une exception InvalidStateError sera levée.

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

Syntaxe

js
let resultat = request.result;

Valeur

La valeur du résultat de la requête (le type dépend des objets du magasin d'objets).

Exemple

Dans l'exemple qui suit, on souhaite récupérer l'enregistrement qui correspond à un titre donné. Le gestionnaire d'évènements onsuccess permet de récupérer l'enregistrement contenu dans le magasin d'objet (IDBObjectStore) (via objectStoreTitleRequest.result). Ensuite, on met à jour une propriété de cet enregistrement et on replace cet enregistrement dans le magasin d'objet. Pour un exemple fonctionnel complet, voir l'application To-do Notifications (voir l'exemple live).

js
let title = "Promener le chien";

// On ouvre une transaction en lecture/écriture
let objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// On récupère l'objet qui possède le titre souhaité
let objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function () {
  // On agit sur les données de l'objet de la requête
  let data = objectStoreTitleRequest.result;

  // On met à jour la propriété notified avec "yes"
  data.notified = "yes";

  // On crée une autre requête pour réinsérer l'objet dans la base
  let updateTitleRequest = objectStore.put(data);

  // Lorsque cette seconde requête est terminée, on lance displayData() pour rafraîchir l'écran
  updateTitleRequest.onsuccess = function () {
    displayData();
  };
};

Spécifications

Specification
Indexed Database API 3.0
# ref-for-dom-idbrequest-result①

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi