PouchDB混合科尔多瓦应用程序不工作
问题描述:
刚刚对混合应用程序开发,我使用科尔多瓦v5,Ionic和PouchDB为我的应用程序。似乎在Ionic serve命令中一切正常,但对PouchDB的任何操作似乎都不适用于运行Android Lollipop的实际设备。PouchDB混合科尔多瓦应用程序不工作
在创建pouchDB对象时,我明确指定了'WebSQL'。我不知道我是否错过了任何步骤。
下面是代码
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();
});
}
任何帮助将不胜感激。
答
一般不建议您尝试使用new PouchDB(...)
作为自己的承诺(例如new PouchDB(...).then(...)
)。由于循环依赖关系,它会导致某些Promise环境中的问题,这是一种我们正在远离的旧式风格。尝试做var db = new PouchDB(...);
,看看是否有帮助!
没有阅读过http://pouchdb.com/adapters.html SQLite的插件段落? (db.info()。)然后(function(info){alert(info);});'?你真的需要使用插件吗(参见文档)? – thriqon
你好thriqon,谢谢你的帮助。当我运行离子服务命令我得到的信息对象如下信息:对象 auto_compaction:假 DB_NAME: “SH_HouseVisitDB” doc_count:0 sqlite_plugin:假 update_seq:0 websql_encoding: “UTF-8” __proto__:对象 – Shan