Когда я связываю несколько вызовов zipWhen
, результатом будет Tuble2<Tuple2<Foo, Bar>, Bam>
вместо Tuple3<Foo, Bar, Bam>
. Это ухудшается с каждым последующим zipWhen
.
Пример:
val getFoo()
.zipWhen { foo ->
getBar(foo)
}
.zipWhen { fooBar ->
getBam(fooBar.t1, fooBar.t2)
}
.doOnNext { fooBarBam ->
log.debug { "foo: ${fooBarBam.t1.t1}" }
log.debug { "bar: ${fooBarBam.t1.t2}" }
log.debug { "bam: ${fooBarBam.t2}" }
}
Какой самый элегантный и многоразовый способ получить Tubple3
в doOnNext?