gpt4 book ai didi

kotlin - 在条件下可观察到的开关

转载 作者:行者123 更新时间:2023-12-02 13:38:00 24 4
gpt4 key购买 nike

我有两个观测值,除非它没有给我我想要的(在本例中为空列表),否则我想使用第一个。如果是这样,我想切换到第二个。

fun test() {

listSource1().switchMap {
if (it.isEmpty()) listSource2() else listSource1()
}

}

fun listSource1() = Observable.just(emptyList<String>())

fun listSource2() = Observable.just(listOf("hello"))

有没有比这更好的方法了?将 listSource1映射到 listSource1似乎很奇怪,这是正确的方法吗?

最佳答案

FlatMap首先查看该项目是否为空列表:

Observable<List<T>> source = ...

Observable<List<T>> fallbackSource = ...

source.flatMap(list -> {
if (list.isEmpty()) {
return fallbackSource;
}
return Observable.just(list);
});

关于kotlin - 在条件下可观察到的开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51608667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com