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 只进行一次批量更新调用更改?
你可以考虑在调用批量操作之前关闭监听器,或者在构建操作完成之前设置一个标志(监听器用来忽略),然后在最后调用一次。
我正在开始使用 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 只进行一次批量更新调用更改?
你可以考虑在调用批量操作之前关闭监听器,或者在构建操作完成之前设置一个标志(监听器用来忽略),然后在最后调用一次。