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

时间:2016-01-21 13:50:22

标签: mobile ionic-framework synchronization couchdb pouchdb

我正在使用Ionic框架开发一个约会应用程序 PouchDB &的 CouchDB的

App中所做的更改保存在PouchDB中,本地数据库可以立即完美地同步/保存数据到Couch数据库。

但我如何知道CouchDB何时被更改?

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

当应用程序正在运行/正在使用时,我怎么知道远程数据库有变化?

请建议。

1 个答案:

答案 0 :(得分:1)

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

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的更多详情。