【发布时间】:2023-02-08 06:53:58
【问题描述】:
var database = window.indexedDB.open("myTestDatabase", 3);
database.onerror = function(event) {
alert('Error creating database');
}
database.onupgradeneeded = function(event) {
var db = event.target.result;
console.log(1);
//
if (!db.objectStoreNames.contains("data")) {
//Add to indexDB
db.createObjectStore("data", {
keypath: "data"
});
}
}
//If the database is creaed run.
database.onsuccess = function(event) {
var db = event.target.result;
var transaction = db.transaction(["data"], 'readwrite');
//More code here to store data into indexeddb
}
运行我的代码时,遇到以下错误:Uncaught NotFoundError:无法在“IDBDatabase”上执行“事务”:找不到指定的对象存储之一。
查看 indexeddb 时,会创建“myTestDatabase”,但不会创建“data”对象库。这可能是什么问题?它有时会起作用,但有时会失败。
【问题讨论】:
-
只有在升级处理程序运行时才会创建商店。升级处理程序仅在版本增加时运行。您没有始终如一地增加版本。了解非阻塞 javascript 将阐明原因。
标签: javascript indexeddb