2016-12-05 4 views
0

Мое приложение использует PouchDB (и Ionic 1) для репликации данных из локальной БД на серверную БД, как только сеть будет доступна (через реплику повторного использования &).Количество ожидающих изменений изменений, которые должны быть реплицированы PouchDB

Я хотел бы отобразить на экране количество изменений, ожидающих репликации (включая 0, когда все было реплицировано).

Есть ли способ сделать это с помощью PouchDB?

(Если это не представляется возможным, запасной вариант решения будет иметь «грязный» флаг, а это означает, что все дублируется или нет. Любые идеи для этого?)

Заранее спасибо!

+0

Может быть, [это] (https://stackoverflow.com/questions/40857758/pouchdb-how-to- display-sync-progress-status) полезно ... – Phonolog

+0

Спасибо, Phonolog, это помогло! То, что я сделал, это прослушать событие «приостановлено»: когда параметр err не определен, я установил статус «грязный (= нуждается в репликации)», в противном случае «pristine (= all is sync'd)». Однако сразу после изменения может потребоваться несколько секунд, прежде чем попытка синхронизации будет выполнена 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"; 
    } 
    }) 
Смежные вопросы