小编jcf*_*ino的帖子

RxJava:计数或时间范围内的窗口,不丢弃元素

我想以一定的最大尺寸分批我的流,如果在一段时间后没有达到这个尺寸,则关闭批次并开始一个新的.为此,我尝试使用窗口(计数):

things.window(10)
Run Code Online (Sandbox Code Playgroud)

然而,这将等待直到接收到10个元素以发出新的Observable窗口.如果我使用窗口(timespan,unit,count)运算符:

things.window(1, TimeUnit.SECONDS, 10)
Run Code Online (Sandbox Code Playgroud)

我将放弃在10日之后和时间跨度完成之前的所有元素.

我想要一个类似的运算符,而不是等到时间跨度完成时,在达到计数时发出一个新的窗口.

things.windowXXX(timespan = 1s, count = 2) : Observable[T]

things:   ----o--o--o-----------o----o------->
timespan: [      )[    1s    ][      )[    -->
window 1: -----o-o-|
window 2:          -o---------|
window 3:                     --o-----o-| 
Run Code Online (Sandbox Code Playgroud)

rx-java

4
推荐指数
1
解决办法
2688
查看次数

标签 统计

rx-java ×1