3 可观察量, 2 可以按顺序运行,例如
Observable<BaseObject> baseObj = getBaseObs();
Observeable<Object1> obs1 = getObs1();
Observeable<Object2> obs2 = getObs2();
baseObj
应始终先执行,如果结果baseObj.isFirst()
等于true
,则应立即执行可观察的obs1
,否则obs2
应该被执行。
如何根据第一个observable的结果组合两个observable?
答案 0 :(得分:1)
您可以使用switchMap()
运算符安排后续观察值:
baseObj
.switchMap( isFirst -> isFirst ? obs1 : obs2 )
.subscribe( ... );
观察者链的结果是obs1
或obs2
的结果,具体取决于baseObj
。