使用YDN-DB的IndexedDB:如何确定对象存储是否存在

时间:2014-06-25 10:23:23

标签: javascript indexeddb ydn-db

将IndexedDB用于本地html5应用程序,特别是YDN-DB包装器,我经常需要使用动态获取的商店名称来查询商店。 当商店不存在时,我发现错误,并且javascript执行中止。错误看起来像这样:

Uncaught ydn.error.ArgumentException: Store "client_store" not found. 

当然,我知道商店不存在,但我如何才能最好地编写代码来捕捉'这个错误更优雅? 谢谢。

2 个答案:

答案 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')来检查商店名称是否存在。