将IndexedDB用于本地html5应用程序,特别是YDN-DB包装器,我经常需要使用动态获取的商店名称来查询商店。 当商店不存在时,我发现错误,并且javascript执行中止。错误看起来像这样:
Uncaught ydn.error.ArgumentException: Store "client_store" not found.
当然,我知道商店不存在,但我如何才能最好地编写代码来捕捉'这个错误更优雅? 谢谢。
答案 0 :(得分:1)
您可以使用此小实用程序功能:
function storeExists(name) {
var exists = false;
db.getSchema().stores.forEach(function (store) {
if (store.name === name) {
return exists = true;
}
});
return exists;
}
<强>执行强>
storeExists('client_store');
答案 1 :(得分:0)
最好的是您可以避免动态更改数据库架构。
您还可以通过签入架构db.getSchema().stores.contains('new store')
来检查商店名称是否存在。