我在phonegap应用程序中创建了一个pouchdb实例:
var db = new PouchDB("test", {adapter: 'idb'});
一切正常,但有时在重新加载页面后它不会返回任何内容。我可以打印db对象,它看起来像这样:
{
"__opts": {
"adapter": "idb",
"name": "_pouch_test"
},
"prefix": "_pouch_",
"name": "_pouch_test",
"_adapter": "idb",
"_events": {
},
"taskqueue": {
"isReady": false,
"failed": false,
"queue": Array[0]
function (failed) {...
function (failed) {...
function (failed) {...
function (failed) {...
},
"adapter": "idb",
"_meta": null,
"_remote": false
}
我看到db还没有准备好。当我试图获取信息时,它只是创造了希望并且没有任何反应:
db.info().then(function (result) {
console.info(result);
}).catch(function (err) {
console.log(err);
});
它打印出来:
[object Object]pouchdb:api [object Object]test[object Object] +0ms info
Promise
即使我试图获得allDocs。 似乎承诺不会调用calback,或者db doe没有初始化。 我已经尝试过在这种情况下在调试控制台中创建更多的数据库实例,但没有任何反应。
真正令人感兴趣的是,当我使用' websql'创建另一个测试数据库时。适配器在这种情况下,它创建数据库并返回值。有用。但是当时没有。 刷新之后它再次起作用,有些时候不会。
Wat是错的?是bug吗?是否有一些问题需要解决?