localStorageDB未在javascript文件之间持久化数据

localStorageDB未在javascript文件之间持久化数据,javascript,local-storage,Javascript,Local Storage,我有2个javascript文件。 其中1个文件函数如下所示 var database = new localStorageDB("FormsDatabase", localStorage); this.Create = function (item) { database.insertOrUpdate("Value", { Id: item.Id }, item); database.commit();

我有2个javascript文件。 其中1个文件函数如下所示

        var database = new localStorageDB("FormsDatabase", localStorage);
        this.Create = function (item) {
            database.insertOrUpdate("Value", { Id: item.Id }, item);
            database.commit();
        };
        var database = new localStorageDB("FormsDatabase", localStorage);
        this.SynchronizeValue = function () {
            var items = database.queryAll("Value", { query: function (row) { 
                 if (row.IsSent == false && row.IsDeleted == false) 
                 { return true; } else { return false; } }, limit: 100 });
        };
另一个看起来像这样

        var database = new localStorageDB("FormsDatabase", localStorage);
        this.Create = function (item) {
            database.insertOrUpdate("Value", { Id: item.Id }, item);
            database.commit();
        };
        var database = new localStorageDB("FormsDatabase", localStorage);
        this.SynchronizeValue = function () {
            var items = database.queryAll("Value", { query: function (row) { 
                 if (row.IsSent == false && row.IsDeleted == false) 
                 { return true; } else { return false; } }, limit: 100 });
        };

为什么第一个文件在执行insertOrUpdate和commit之后可以立即执行查询,并且可以得到返回,但第二个文件中的“值”表内容已消失?

这些文件在同一个域中吗?是的。奇怪的是,我想这和数据库连接的更新有关。可能在新数据库对象更新之前,提交还没有完全发生?我以为您使用的是
localStorage
,但您一定使用的是一个我不熟悉的库。它是本地存储上的一个称为locaStorageDB的薄数据库层。我发现更新一个数据库变量会产生问题,所以只有一个数据库对象似乎可以缓解我在这里遇到的问题。这些文件是在同一个域上吗?是的。奇怪的是,我想这和数据库连接的更新有关。可能在新数据库对象更新之前,提交还没有完全发生?我以为您使用的是
localStorage
,但您一定使用的是一个我不熟悉的库。它是本地存储上的一个称为locaStorageDB的薄数据库层。我发现更新一个数据库变量会产生问题,所以只有一个数据库对象似乎可以缓解我在这里遇到的问题。