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

标签 java android rx-java rx-java2

我有一个 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.enter image description here

每 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/

相关文章:

system.reactive - subscribeOn 和 observeOn 应该只由最终订阅者调用吗?

java - jQuery 数据表分组返回值

java - 使用Hadoop Streaming和新API文件格式时找不到类

java - VideoView 效果不佳

android - Android SQLite替换成无法正常工作

android - 当我不知道 key 时如何从 sharedpreference 中获取值

android - 如果发生异常,则将 flatMap 短路

rx-java - 使用 repeatWhen() 的动态延迟值

java - Hibernate 和 javaassist 代理/延迟初始化导致反射错误

java - Android 应用程序登录和登录问题