我还是 RxAndroid 的新手,我想在流中加载单个对象。这个对象可以作为 Observable 从两个不同的类中加载。在我的场景中,首先从 加载对象provider1
,如果null
提供了,则从 加载对象provider2
。
我的问题是
- 我不知道如何优雅地检查
null
- 我不知道如何处理两者,
Observable<MyObj>
并且MyObj
以相同的方法
目前我的代码看起来像这样
return provider1.getObject()
.flatMap(o -> {
if(o == null) return provider2.getObject();
else return Observable.just(o);
});
这看起来不太好,是否有我缺少的操作员?或者至少有一种方法可以展平单个 Observable,以便我可以执行以下操作:
return provider1.getObject()
.map(o -> {
if(o == null) return provider2.getObject().flatten();
else return o;
});
还是我只是以完全错误的方式做事?任何帮助表示赞赏。