indexeddb に問題があります - この方法を使用して、db を開いてセットアップしています
DBService.prototype.open = function (dbName, entity, cb) {
var self = this;
var req = indexedDB.open(dbName)
req.onsuccess = function(e) {
var v = 1;
DBService.storage.db = e.target.result;
var db = DBService.storage.db;
// We can only create Object stores in a setVersion transaction;
if (v != db.version) {
var setVrequest = db.setVersion(v);
setVrequest.onerror = function (err, stack) {
console.log(err, stack);
}
setVrequest.onsuccess = function(e) {
if(db.objectStoreNames.contains(entity)) {
db.deleteObjectStore(entity);
}
var store = db.createObjectStore(entity,
{keyPath: "timeStamp"});
e.target.transaction.oncomplete = function() {
console.log(db);
cb(db);
};
};
} else {
cb(db);
/*
req.transaction.oncomplete = function() {
cb(db);
*/
}
};
req.onerror = function (err, stack) {
console.log(err)
console.log(stack)
}
};
データベースが開かれていない場合を除いて、すべてがうまく機能します。私はまだ得ています
InvalidStateError: DOM IDBDatabase Exception 11
(console.log req.error の場合)
私はこのコードがかなり汚れていることを知っています。私はすべてを試しています。うまく機能するようになったら、リファクタリングすることをお約束します!
ありがとうございました!