Kotlin 可观察开关开启条件
我有两个观测值,我想使用第一个,除非它没有给我想要的(在本例中是一个空列表)。如果是这样的话,我想换第二个Kotlin 可观察开关开启条件,kotlin,rx-java,rx-java2,Kotlin,Rx Java,Rx Java2,我有两个观测值,我想使用第一个,除非它没有给我想要的(在本例中是一个空列表)。如果是这样的话,我想换第二个 fun test() { listSource1().switchMap { if (it.isEmpty()) listSource2() else listSource1() } } fun listSource1() = Observable.just(emptyList<String>()) fun listSource2() =
fun test() {
listSource1().switchMap {
if (it.isEmpty()) listSource2() else listSource1()
}
}
fun listSource1() = Observable.just(emptyList<String>())
fun listSource2() = Observable.just(listOf("hello"))
fun测试(){
listSource1().switchMap{
if(it.isEmpty())listSource2()else listSource1()
}
}
fun listSource1()=可观察的.just(emptyList())
fun listSource2()=可观察的.just(listOf(“hello”))
还有比这更好的方法吗?将
listSource1
映射到listSource1
似乎很奇怪,这是正确的方法吗?FlatMap首先查看项目是否为空列表:
可观测源=。。。
可观察的后备资源=。。。
source.flatMap(列表->{
if(list.isEmpty()){
返回后备资源;
}
返回可观察的。刚(列表);
});