我一直在尝试关闭并删除一个indexedDB数据库,但我会说大约有10%的时间它被卡在一个不太理想的状态。它会删除所有对象存储,但保留数据库条目,如下面的屏幕截图所示。
目标是在用户注销然后重新加载页面时一举完全删除indexedDB数据库。当数据库没有被完全删除时,它可能会导致用户登录时出现问题,因为未调用onupgradeneeded
并且未重新创建对象存储。
this.db.close();
var request = indexedDB.deleteDatabase("mcfarljwtest2");
request.onsuccess = function() {
setTimeout(function() {
location.reload(true);
}, 1000);
};
request.onerror = function(error) {
console.log(error);
};
是否有一些我遗漏或忽略的东西让它完全删除100%的时间?
答案 0 :(得分:2)
您在Chrome中发现了一个错误!
我将此作为https://crbug.com/539931提交,然后就找到了解决办法。除非出现任何意外的副作用,修复程序应该在Chrome 48中。
如上所述,它特别针对让devtools打开并主动检查数据库资源,因此它不太可能影响最终用户,只会影响开发人员。