IndexedDB方法close 是同步的, 我该如何等待close完成?我的用例是在自动化测试后关闭IndexedDB,然后在下一个测试之前删除数据库并重新打开它。
我遇到的问题是有时indexedDB.deleteDatabase会触发blocked事件,因为数据库尚未异步关闭(正如我链接到的deleteDatabase的文档中所示)。我不完全确定的是,在这种情况下,数据库是否仍将被删除,尽管触发了blocked事件。
IndexedDB方法close 是同步的, 我该如何等待close完成?我的用例是在自动化测试后关闭IndexedDB,然后在下一个测试之前删除数据库并重新打开它。
我遇到的问题是有时indexedDB.deleteDatabase会触发blocked事件,因为数据库尚未异步关闭(正如我链接到的deleteDatabase的文档中所示)。我不完全确定的是,在这种情况下,数据库是否仍将被删除,尽管触发了blocked事件。
IndexedDB.open("mydb").onsuccess = function(e) {
db = e.target.result;
trans = db.transaction("someobjectstore");
os = trans.getObjectStore("someobjectstore");
os.put("blah");
db.close();
}
IndexedDB.open("mydb").onsuccess = function(e) {
db = e.target.result;
db.onversionchange = function(e) {
console.log("got versionchange event: " + e);
}
trans = db.transaction("someobjectstore");
os = trans.getObjectStore("someobjectstore");
os.put("blah");
db.close();
}