Hybrid Cordova App上的PouchDB无法正常工作

时间:2015-09-04 06:42:25

标签: angularjs cordova ionic pouchdb multi-device-hybrid-apps

我是混合应用程序开发的新手,我为我的应用程序使用Cordova v5,Ionic和PouchDB。似乎一切都在Ionic服务命令上工作正常,但PouchDB上的任何操作似乎都无法在运行Android Lollipop的实际设备上运行。

在创建pouchDB对象时显式指定'WebSQL'。我不知道Am是否遗漏了任何步骤。

这是代码

 var houselst = JSON.parse('<some json string>');

new PouchDB('SH_HouseVisitDB', { adapter: 'websql' }).destroy().then(function () {
            return new PouchDB('SH_HouseVisitDB');
        }).then(function (db) {

      var doc = {
                    "_id": "houselist",
                    "items": houselst
                };

                //insert the doc to pouchDB
                db.put(doc);
                db.get('houselist').then(function (doc) {
                    vm.houselist = _.sortBy(doc.items, "name");
                    db.close();
                });
}

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

通常不建议尝试使用new PouchDB(...)作为自己的承诺(例如new PouchDB(...).then(...))。这是一种较旧的风格,我们正在逐渐远离它,因为它会因为循环依赖而导致某些Promise环境出现问题。尝试var db = new PouchDB(...);,看看是否有帮助!

答案 1 :(得分:0)

感谢您的支持。

最后想通了,我们需要用websql前缀命名db。我从以下主题找到了解决方案。

https://github.com/pouchdb/pouchdb/issues/1207