我有一个 Observable,它正在监听数据库并在添加到数据库时发出项目。当我订阅这个 observable 时,它会一个一个地快速发出已经存储在数据库中的项目。我的问题是我是否可以创建可观察对象,它将以特定间隔(例如 100 毫秒)发射的项目收集到列表中,并发射(或返回某些函数,如 doOnNext)整个列表和单独的项目,如果有更大的发射间隔?
提前致谢!
最佳答案
您正在寻找buffer运算符(operator):
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
关于java - RxJava 2 : emit collected list of items after a certain period of time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46032735/