首页 > 解决方案 > PouchDb <-> CouchDb 复制

问题描述

当我关闭网络并在几秒钟后打开网络时,我遇到了复制问题。

打开网络后,我必须等待 3-5 分钟之间的复制同步:

在此处输入图像描述

在 prod 环境中,这可能是有问题的。

有任何想法吗 ?

标签: couchdbpouchdb

解决方案


好吧,对不起图片。

我读到了 pouchdb 中的复制和使用重试选项

我的代码:

  this.service.synch().then((data) => {
    this.lottieSpashScreen.hide();

  }).catch((err) => {
    console.log('no network or couch not respond')
    this.lottieSpashScreen.hide();

  });

在役:

synch() {

let optionsToAndFrom = {
  live: true, 
  retry: true,
  continuous: true
};
this.db.replicate.to(this.remote, optionsToAndFrom)

return this.db.replicate.from(this.remote)
  .on('complete', (info) => {
    this.db.replicate.from(this.remote, optionsToAndFrom) 
  }) 
  .on('error', (info) => {
    console.log('error')
  })}

有时,如果设备长时间断开连接,复制会停止,我必须重新启动应用程序。

在网络上,我可以看到停止请求超过四分钟

编辑:在浏览器中一切正常,没有问题。

问题出在安卓设备上

编辑 :

当我启动应用程序和网络未连接时,我可以在日志中看到:

净::ERR_INTERNET_DISCONNECTED

那太好了。

但是当我启动应用程序和网络连接并在几秒钟后断开连接时,我只能在网络中看到该请求处于待处理状态而没有错误。当我在大约几分钟后打开网络时,这个请求被执行,但是当我在大约五分钟后关闭网络时,这个请求处于待处理状态,没有改变状态。


推荐阅读