- ns.delete_key= function(key, success) {
- let request = ns.open_store("readwrite").delete(key);
- request.onsuccess = (event) => { if (success) success(event.target.result); };
- request.onerror = ns.error;
+ ns.delete_key = function(key, success) {
+ ns.open_rw_store((store) => {
+ let request = store.delete(key);
+ request.onsuccess = (event) => { if (success) success(event.target.result); };
+ request.onerror = ns.error;
+ });
+ };
+
+ ns.open_rw_store = function(callback) {
+ if (db && db_version == db.version) {
+ callback(ns.open_store("readwrite"));
+ } else {
+ request.aftersuccess.push(() => callback(ns.open_store("readwrite")));
+ }
+ };
+
+ ns.open_ro_store = function(callback) {
+ if (db && db_version == db.version) {
+ callback(ns.open_store("readonly"));
+ } else {
+ request.aftersuccess.push(() => callback(ns.open_store("readonly")));
+ }