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
我有一个 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