【发布时间】:2018-01-09 14:05:46
【问题描述】:
我正在使用 PouchDB 5.2.1 版和 nodejs 0.10.26 版。最近我遇到了一个问题,在我的两个不同的 PouchDB 实例中,在一个实例中,推送复制工作正常,但在其他实例中,推送复制没有发生。
我进一步深入研究了库,发现在文件 pouchdb/lib/index.js 中调用了一个名为 startNextBatch() 的函数。在函数内部,我们正在检查条件
if (returnValue.cancelled || currentBatch) {
return;
}
在成功的情况下,currentBatch 是未定义的,因此代码没有返回并且发生了推送,但在失败的情况下,currentBatch 被定义并调用了返回。currentBatch 变量中存在的文档是之前被推送到的文档服务器,但由于一些其他问题无法同步回来,而且它们的检查点也无法更新,因此 currentBatch 变量没有被清除。
我的问题是:
1)如果我评论代码返回会有什么影响。
2)为什么因为定义了变量currentBatch而停止了推送复制。
【问题讨论】:
标签: node.js replication couchbase pouchdb