我有这个最合适的流动性:
private val subject: BehaviorSubject<Int> = BehaviorSubject.create()
Flowable.combineLatest(
materialA,
materialB,
subject.toFlowable(LATEST),
Function3 { ma, mb, index -> if(index == 0) ... else if(index ==1) ... else ... }
subject.onNext(99)
基本上,我想观察这两种材料的数据库更改,并将它们组合起来向用户显示一些数据。有时,我需要使用最新的输出,并做一个不同的组合(计算重)。这就是为什么我将index
作为combinelatest
的来源。这是一种有效的方法还是有更好的选择?
PS。我需要能够在任何时候要求不同的组合(这是我没有使用Flowable.just()),我想避免在obs链外保存状态。