basicIDB_PBM.html (1140B)
1 <html> 2 <head> 3 <script> 4 async function ensureIDB(name, ver, store) { 5 return new Promise((resolve, reject) => { 6 let createObjectStore = (db, store) => { 7 db.createObjectStore(store); 8 }; 9 10 var req = indexedDB.open(name, ver); 11 req.onerror = reject; 12 13 req.onsuccess = () => { 14 resolve(req.result); 15 }; 16 17 req.onupgradeneeded = function (event) { 18 let db = event.target.result; 19 createObjectStore(db, store); 20 }; 21 }); 22 }; 23 24 async function addDataIntoIDB(idb, store, key, value) { 25 let db = await ensureIDB(idb, 1, store); 26 await (new Promise((resolve, reject) => { 27 var transaction = db.transaction([store], "readwrite"); 28 var put = transaction.objectStore(store).put(value, key); 29 put.onerror = reject; 30 put.onsuccess = resolve; 31 })); 32 33 closeIDB(db) 34 }; 35 36 function closeIDB(db) { 37 db.close(); 38 } 39 40 function deleteIDB(db) { 41 return new Promise((resolve, reject) => { 42 let deleteReq = indexedDB.deleteDatabase(db); 43 deleteReq.onerror = reject; 44 deleteReq.onsuccess = resolve; 45 }); 46 } 47 </script> 48 </head> 49 </html>