如何知道 CouchDB 在 IONIC 应用程序中发生了变化?

How to know CouchDB has changed in IONIC app?

我正在使用带 PouchDB & CouchDB.

的 Ionic 框架开发约会应用程序

在应用程序中所做的更改会完美地保存在 PouchDB 和本地数据库中 syncs/saves 数据到 Couch 数据库 - 即时。

但是我怎么知道 CouchDB 何时被更改了?

我正在 .run() 函数中同步两个数据库 - 但 .run() 仅在应用程序启动时调用。

当应用程序 运行/正在使用时,我如何知道远程数据库发生了变化?

求推荐。

PouchDB replicate/sync 的结果是 event emitter。要监听服务器更改,您应该使用 {live: true} replicate/sync 远程数据库并注册您的处理程序。 例如:

localDB.sync(remoteDB, {
  live: true,
  retry: true
}).on('change', function (change) {
  // notify to your app that the remote Couch DB has changed
}).on('paused', function (info) {
  // replication was paused, usually because of a lost connection
}).on('active', function (info) {
  // replication was resumed
}).on('error', function (err) {
  // totally unhandled error (shouldn't happen)
})));

有关 pouchdb documentation 的更多详细信息。