IDBObjectStore.transaction
        
        
          
                Baseline
                
                  Widely available
                
                
              
        
        
        
          
                
              
                
              
                
              
        
        
      
      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 propriété transaction de l'interface IDBObjectStore renvoie la transaction à laquelle l'accès du magasin d'objet appartient.
Note : Cette fonctionnalité est disponible via les Web Workers.
Syntaxe
var myTransaction = objectStore.transaction;
Valeur
Une transaction.
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 avoir un accès au magasin d'objet "toDoList" dans lequel on ajoute un enregistrement.
La propriété transaction affiche la transaction à laquelle l'accès du magasin d'objet appartient.
//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 ajouter un enregistrement au magasin d'objet
  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 un magasin "toDoList" de la transaction
  var objectStore = transaction.objectStore("toDoList");
  //->Affiche la transaction de l'accès du magasin d'objet
  console.log(objectStore.transaction);
  // 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>";
  };
}
Note : Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).
Spécifications
| Specification | 
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-transaction①>  | 
            
Compatibilité des navigateurs
Chargement…