2016-12-05 39 views
0

当网络可用时(通过实时&重试复制),我的应用程序使用PouchDB(和Ionic 1)将其数据从本地数据库复制到服务器数据库。PouchDB将要复制的待处理更改的数量

我想在屏幕上显示等待复制的更改数(包括0,当所有内容都被复制时)。

有没有办法用PouchDB做到这一点?

(如果这是不可行的,备用的解决办法是有一个“脏”标志,这意味着一切都将被复制或没有。任何想法呢?)

在此先感谢!

+0

也许[这](https://stackoverflow.com/questions/40857758/pouchdb-how-to-显示同步进度状态)是有帮助的... – Phonolog

+0

感谢Phonolog,它帮助!我所做的是听'暂停'事件:当err参数未定义时,我将状态设置为“dirty(= needs replication)”,否则为“pristine(=所有内容都同步)”。然而,在更改之后,可能需要几秒钟时间才能尝试同步PouchDB,在此期间,我报告“原始”状态,而实际上它是“脏的”。无论如何,我认为那会暂时做到,thx再次 – bfredo123

回答

1

下面是我所采取的方式(这仅仅是 '后备' 的解决方案):

PouchDB.replicate(localDb, remoteDb, options). 
    on('paused', function (info) { 
    if (info == undefined) { 
     // the replication has finished and is waiting for other changes 
     $rootScope.syncStatus = "pristine"; 
    } 
    else { // the are some pending changes to be replicated remotely 
     $rootScope.syncStatus = "dirty"; 
    } 
    })