JSFiddle - React, Tailwind, and code Playground

JavaScript

const STORE_NAME = "books";

var openRequest = indexedDB.open('transaction-demo');

openRequest.onupgradeneeded = (event) => {
  const db = openRequest.result;
  const store = db.createObjectStore(STORE_NAME, {
    keyPath: "id"
  });
};

openRequest.onerror = (event) => {
  console.error(event);
}

openRequest.onsuccess = async (event) => {
  const db = event.target.result;
  const transaction = db.transaction([STORE_NAME], "readwrite");
  const store = transaction.objectStore(STORE_NAME);
  await new Promise((resolve) => {
    store.delete("haha").onsuccess = resolve;
  });
  await new Promise((resolve) => {
    store.add({
      id: "haha"
    }).onsuccess = resolve;
  });
  document.querySelector('body').innerText = "Done";
};