2016-12-05 1 views
0

Mon application utilise PouchDB (et Ionic 1) pour répliquer ses données depuis une base de données locale vers une base de données serveur dès que le réseau est disponible (via une réplication & en cours).Nombre de modifications en attente à répliquer par PouchDB

Je voudrais afficher sur l'écran le nombre de changements en attente de réplication (y compris 0 lorsque tout a été répliqué).

Y a-t-il un moyen de faire ça avec PouchDB?

(Si cela est impossible, une solution de repli serait d'avoir un drapeau « sale », ce qui signifie que tout est reproduit ou non. Toute idée pour cela?)

Merci à l'avance!

+0

Peut-être que [ce] (https://stackoverflow.com/questions/40857758/pouchdb-how-to- display-sync-progress-status) est utile ... – Phonolog

+0

Merci Phonolog, ça a aidé! Ce que j'ai fait, c'est écouter l'événement 'paused': quand le param err est indéfini, je mets le statut à "dirty (= besoin de réplication)", sinon à "pristine (= everything everything sync'd)". Cependant, juste après un changement, cela peut prendre quelques secondes avant qu'une tentative de synchronisation ne soit effectuée par PouchDB, au cours de laquelle je signale un statut "vierge" alors qu'il est réellement "sale". De toute façon je pense que ça va le faire pour le moment, encore une fois – bfredo123

Répondre

1

est la façon dont je l'ai fait ici (c'est que la solution 'de secours'):

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"; 
    } 
    })