RxJava 2:在一段时间后发出收集的项目列表

RxJava 2: emit collected list of items after a certain period of time

我有一个 Observable,它正在监听数据库并在添加到数据库时发出项目。当我订阅这个 observable 时,它​​会一个一个地快速发出已经存储在数据库中的项目。我的问题是我是否可以创建可观察对象,它将以特定间隔(例如 100 毫秒)发射的项目收集到列表中并发射(或 return 在某些函数中,如 doOnNext)整个列表和单独的项目,如果有以更大的间隔发出?

提前致谢!

您正在寻找 buffer 操作员:

Returns an Observable that emits buffers of items it collects from the source Observable. The resulting Observable emits connected, non-overlapping buffers, each of a fixed duration specified by the timespan argument.

每 100 毫秒发出收集的物品:

 dbObservable
     .buffer(100, TimeUnit.MILLISECONDS)
     ... // here is your Lists