IDBTransaction Life Cycle

JavaScript

let request = indexedDB.open("Transaction Life Cycle");
  request.onupgradeneeded = function(event) {
    let db = event.target.result;
    db.createObjectStore("store", {autoIncrement: true});
  };
  
  request.onsuccess = function(event) {
	let db = event.target.result;
    let objectStore = db.transaction("store", "readwrite").objectStore("store");
    let request = objectStore.add({id: 1});
    let txn;
    request.addEventListener("success", function(event) {
      console.log("1st listener");
      txn = db.transaction("store", "readwrite");
    });
    request.addEventListener("success", function(event) {
      console.log("2st listener");
      let objectStore = txn.objectStore("store");
      objectStore.add({id: 2}).onsuccess = function(event) {
        console.log("2nd object is added");
      };
    });
  }