从未调用过PouchDB回调

时间:2017-12-11 18:18:57

标签: typescript pouchdb

我似乎无法使用pouchdb执行任何回调。任何想法在执行代码时可能出错?如何捕捉可能发生的其他问题?我在Chrome上使用indexedDB:

let databaseToQuery = new PouchDB('some_db');
databaseToQuery.info().then(
  info => {
    console.log(JSON.stringify(info));
  }).catch((error) => {
    console.log(JSON.stringify(error));
  });

任何评论都赞赏!

1 个答案:

答案 0 :(得分:1)

我找到了此问题的根本原因。在您当前的chrome实例中打开chrome:// indexeddb-internals /时,您会看到受影响的数据库的挂起打开/删除次数大于0。这可能是由于该数据库上任何未提交的事务引起的。可能是您试图删除/销毁数据库,但该操作尚未完全完成。这样,您的PouchDB实例(以及所有其他本地PocuhDB实例)将在初始化阶段挂起。

尝试重新启动浏览器实例,该问题应消失。

如果PouchDB的某人可以在首次访问indexedDB时实现超时观察者,那将很棒。当indexedDB.open()在一定时间(例如10秒)内未响应时,观察者应触发错误回调。这将帮助开发人员找到根本原因,而不是调试PouchDB承诺永远无法解决的原因。