0
这里是我想要做的(使用科特林和RxJava)如何有条件地在RxJava流中添加异步操作?
makeServerCall()
.doOnNext {
doStuff(it)
}
//TODO: if it == 0, call asyncOperation() and wait for its callback to fire
//before running the rest of the stream. Otherwise immediately run the rest
//of the stream
.flatMap {
observable1(it)
observable2(it)
Observable.merge(
getSpotSearchObservable(observable1),
getSpotSearchObservable(observable2)
}
.subscribeBy(onNext = {
allDone()
view?
})
如何在呼叫挤asyncOperation()
,使流等待其余为它的回调火的简化版本,但只有当某个条件得到满足时?这似乎可能是Rx中的一个微不足道的操作,但没有想到明显的解决方案。
你认为'switchIfEmpty'?当'it == 0'时,如果你不再需要它以后进行操作,那么你可以切换到另一个可观察的流(asyncOperation) – Jon