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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
result

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi