IDBRequest.result
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 juillet 2015.
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
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).
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
Chargement…
Voir aussi
- Utiliser IndexedDB
- Initier une transaction :
IDBDatabase - Utiliser les transactions :
IDBTransaction - Définir un intervalle de clés :
IDBKeyRange - Récupérer et modifier les données :
IDBObjectStore - Utiliser les curseurs :
IDBCursor - Exemple de référence : To-do Notifications (exemple live).