PouchDB bulkDocs 可以只触发一次 "change" 事件吗?

Can PouchDB bulkDocs trigger the "change" event just once?

我正在开始使用 PouchDB,我正在使用 BulkDocs 函数,它用于在数据库中插入批量数据,记录在此处:https://pouchdb.com/guides/bulk-operations.html

效果很好,但是,正如文档本身所说,它与调用一系列链式 put() 函数相同。

这个问题是我也在使用 couchdb 的更改功能来侦听数据库中的更改并更新 UI,用这个:

db.changes({
      since: 'now',
      live: true,
  }).on('change', refreshCarList);

当我调用批量更新时,它会多次触发 'change' 事件(每个更新的文档一次)并且每次保存都会触发数百次甚至数千次,具体取决于批量大小。这导致多次调用回调,冻结我的 UI.

我的问题是:是否有 way/option/hack 只进行一次批量更新调用更改?

你可以考虑在调用批量操作之前关闭监听器,或者在构建操作完成之前设置一个标志(监听器用来忽略),然后在最后调用一次。