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