Ich learing Rxjava im Moment und mit einem Fensterheber stecken bleiben. Ich teste den folgenden einfachen Code auf meinem Android-Gerät und bekomme verwirrende Ergebnisse.Rxjava Fenster() verwirrende Ergebnisse
Code:
Observable.interval(100, TimeUnit.MILLISECONDS)
.take(10)
.window(250, 100, TimeUnit.MILLISECONDS)
.flatMap(o -> o.toList())
.subscribe(o -> Log.d(TAG, "object: "+o));
Manchmal habe ich, was ist wie richtige Ergebnisse für mich aussieht:
object: [0, 1]
object: [0, 1, 2]
object: [1, 2, 3]
object: [2, 3, 4]
object: [3, 4, 5]
object: [4, 5, 6]
object: [5, 6, 7]
object: [6, 7, 8]
object: [7, 8, 9]
object: [8, 9]
object: [9]
Aber manchmal bekomme ich so etwas wie
object: [0, 1]
object: [0, 1, 2]
object: [1, 2, 3]
object: [2, 3, 4]
object: [3, 4, 5]
object: [4, 5, 6]
object: [6, 7]
object: [6, 7, 8]
object: [7, 8, 9]
object: [8, 9]
object: [9]
Könnte jemand erklären, Warum sind die Ergebnisse für diesen Code unterschiedlich?