1. Web
  2. Les API Web
  3. IDBTransaction
  4. IDBTransaction.abort()

Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

IDBTransaction.abort()

Baseline Large disponibilité

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 méthode abort(), rattachée à l'interface IDBTransaction, permet d'annuler les modifications apportées aux objets de la base de données pendant la transaction courante.

Tous les objets IDBRequest créés pendant cette transaction verront leur attribut IDBRequest.error prendre la valeur AbortError.

Note : Cette fonctionnalité est disponible via les Web Workers.

Syntaxe

js
transaction.abort();

Valeur de retour

Aucune.

Exceptions

Cette méthode peut déclencher une exception DOMException du type InvalidStateError lorsque la transaction a été validée ou qu'elle a déjà été annulée.

Exemples

Dans le fragment de code suivant, on ouvre une transaction en lecture/écriture sur la base de données et on ajoute des données au magasin d'objets. On dispose également de fonctions attachées aux gestionnaires d'évènements de la transaction pour gérer la réussite ou l'échec des opérations. Ensuite, on annule les opérations de la transaction grâce à abort(). Pour un exemple complet, vous pouvez consulter notre application de notifications To-do (cf. la démonstration live).

js
// On ouvre la base de données
var DBOpenRequest = window.indexedDB.open("toDoList", 4);
DBOpenRequest.onsuccess = function(event) {
 note.innerHTML += '<li>Initialisation de la base.</li>';
 // On enregistre le résultat de l'ouverture dans la
 // variable db afin de l'utiliser ensuite
 db = DBOpenRequest.result;
 // On exécute la fonction addData() afin d'ajouter
 // des données à la base de données
 addData();
};
function addData() {
 // On crée un nouvel objet pour l'insérer dans la reate a new object ready for being
 // inserted into the IDB
 var newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no" } ];
 // On ouvre une transaction en lecture/écriture
 // afin d'ajouter des données
 var transaction = db.transaction(["toDoList"], "readwrite");
 // On gère la réussite de la transaction
 transaction.oncomplete = function(event) {
 note.innerHTML += '<li>Transaction terminée : modifications appliquées.</li>';
 };
 transaction.onerror = function(event) {
 note.innerHTML += '<li>Transaction non ouverte à cause d'une erreur.</li>';
 };
 // On crée le magasin d'objet pour la transaction
 var objectStore = transaction.objectStore("toDoList");
 // On ajoute un nouvel objet newItem au magasin d'objet
 var objectStoreRequest = objectStore.add(newItem[0]);
 objectStoreRequest.onsuccess = function(event) {
 // On gère la réussite de l'ajout de l'élément dans
 // la base de données
 note.innerHTML += '<li>Nouvel objet ajouté dans la base de données.</li>';
 };
 // On annule la transaction en cours
 transaction.abort();
};

Spécifications

Spécification
Indexed Database API 3.0
# ref-for-dom-idbtransaction-abort2

Compatibilité des navigateurs

Voir aussi

Aider à améliorer MDN

Apprendre à contribuer

Cette page a été modifiée le par les contributeur·ice·s du MDN.

AltStyle によって変換されたページ (->オリジナル) /