Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

IDBTransaction.abort()

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 méthode abort() de l'interface IDBTransaction annule toutes les modifications éffectué par les accès aux magasins d'objets de la transaction puis déclenche l'événement abort.

La valeur de la propriété error de chaque requête effectuée par latransaction sera AbortError.

Note : This feature is available in Web Workers.

Syntaxe

transaction.abort();

Renvoie

Void.

Exception

InvalidStateError
Cette exception est levé si la transaction est déjà terminé ou annulé.

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 ajouterr 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 abort de la transaction sert à la fin pour l'annuler. Notez le bloque transaction.onabort = function(event) {...} qui affiche un message sur la console.

//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() { 
	// 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 magasin d'objets "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>'; 
    };
 
    transaction.onabort = function() {
        //Signale qu'une transaction a été annulée avec succès
        console.log("Transaction annulée!");
    }; 
 
    // Abandonner la transaction que nous venons de faire
    transaction.abort();
};

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 'abort' dans cette spécification.
Recommendation  

Compatibilité avec les navigateurs

Fonctionnalité 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) ?

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : gadgino
 Dernière mise à jour par : gadgino,