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
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).
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
- Using IndexedDB
- Success Event
- Starting transactions:
IDBDatabase
- Using transactions:
IDBTransaction
- Setting a range of keys:
IDBKeyRange
- Retrieving and making changes to your data:
IDBObjectStore
- Using cursors:
IDBCursor
- Reference example: To-do Notifications (view example live.)