IDBRequest.result
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
BCD tables only load in the browser
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).