假设我有Observable<String> playerNames
,其中第一个元素是标题。如何将其分解为多个块(同时在每个组中添加标题)?
playerNamesObservable
.window(100)
.to(chunk -> { return playerNamesObservable.concatWith(chunk) }
其中headerObservable
基本上是playerNamesObservable.first()
问题在于我要非常小心发出项目(不想使用blockingGet
等)
由于
答案 0 :(得分:1)
使用publish
:
recordsObservable.publish(shared -> {
Observable<String> first = shared
.take(1)
.replay()
.autoConnect(0);
return shared.skip(1)
.window(100)
.map(w -> w.startWith(first));
})
.flatMap(chunk -> /* consume each chunk */)