Cet article nécessite une relecture technique. Voici comment vous pouvez aider.
Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.
La propriété error
de l'interface IDBTransaction
renvoie un des nombreux types d'erreurs quand la transaction
échoue.
Syntaxe
var myError = transaction.error;
Valeur
L'erreur
correspondante. Il y a de nombreuses possibilités d'erreur. L'erreur peut faire référence à celle de l'objet de la requête qui l'a déclenché, ou à un échec de la transaction (par exemple QuotaExceededError
ou UnknownError
).
Cette propriété vaut null
si la transaction n'est pas fini, est fini avec succès, ou a été annulée avec la méthode abort
.
Dans Chrome 48+ cette propriété renvoie une exception
parce que l'erreur
a été retiré de la norme DOM.
Exemple
Dans le code suivant, on ouvre une connexion
à la base de donnée. Sur cette connexion on démarre une transaction
en lecture/écriture pour accéder au magasin d'objet
"toDoList" et y ajouter
un enregistrement. Notez également les gestionnaires d'événements oncomplete
et onerror
de la transaction qui affiche sur la page le résultat de la transaction.
La méthode error
sert dans le bloque transaction.onerror = function(event) {...}
pour afficher le type de l'erreur survenue.
//Connexion à la base de données var DBOpenRequest = window.indexedDB.open("toDoList", 4); DBOpenRequest.onsuccess = function(event) { note.innerHTML += '<li>Connexion établie.</li>'; //Affecte la connexion à la variable db. db = DBOpenRequest.result; // Exécutez la fonction addData () pour emmagasiné les données dans la base addData(); }; function addData() { // Créer un nouvel objet prêt à être emmagasiné newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no" } ]; // ouvre une transaction de lecture / écriture prête au traitement des données sur la connexion var transaction = db.transaction(["toDoList"], "readwrite"); // en cas de succès de l'ouverture de la transaction transaction.oncomplete = function(event) { note.innerHTML += '<li>Transaction complété : modification de la base de données terminée.</li>'; }; // en cas d'échec de l'ouverture de la transaction transaction.onerror = function(event) { note.innerHTML += '<li>L\'erreur: "' + transaction.error +'" c\'est produite échec de la transaction.</li>'; }; // ouvre l'accès au un magasin "toDoList" de la transaction var objectStore = transaction.objectStore("toDoList"); // Ajoute un enregistrement var objectStoreRequest = objectStore.add(newItem[0]); objectStoreRequest.onsuccess = function(event) { // signale l'ajout de l'enregistrement note.innerHTML += '<li>Enregistrement ajouté.</li>'; }; };
Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).
Spécification
Spécification | Statut | Commentaire |
---|---|---|
Indexed Database API La définition de 'IDBTransaction' dans cette spécification. |
Recommendation |
Compatibilité avec les navigateurs
Fonctinnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Support basique | 23webkit 24 |
10 moz 16.0 (16.0) |
10, en partie | 15 | 7.1 |
Disponible dans workers | (Oui) | 37.0 (37.0) | ? | (Oui) | ? |
Fonctionnalité | Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support basique | 4.4 | 22.0 (22.0) | 1.0.1 | 10 | 22 | 8 |
Disponible dans workers | (Oui) | 37.0 (37.0) | (Oui) | ? | (Oui) | ? |