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

h5qlskok  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(398)

我有一个observeable,它正在监听数据库,并在添加到db时发出项。当我订阅这个observate时,它会一个接一个地发出已经存储在db中的项。我的问题是,我是否可以创建observable来收集以特定间隔(例如100毫秒)发射到列表中的项,并发射(或在某些函数中返回,例如doonnext)整个列表和单独的项(如果以更大的间隔发射)?
提前谢谢!

ahy6op9u

ahy6op9u1#

您正在寻找缓冲区运算符:
返回一个observable,该observable发出它从源observable收集的项的缓冲区。得到的可观察对象发出连接的、不重叠的缓冲区,每个缓冲区的持续时间由timespan参数指定。

要每100毫秒发射一次收集的项目:

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

相关问题