Rx java 转换可观察值<;列表<;SomeObject>&燃气轮机;列出<;SomeObject>;

Rx java 转换可观察值<;列表<;SomeObject>&燃气轮机;列出<;SomeObject>;,rx-java,Rx Java,如何转换: Observable<List<SomeObject>> to List<SomeObject> 可观察列表 使用此选项: Observable.just(index) .map { d -> // returns an Observable<List<someObject>> } .observeOn(Sche

如何转换:

Observable<List<SomeObject>> to List<SomeObject>
可观察列表
使用此选项:

Observable.just(index)
            .map { d ->
                // returns an Observable<List<someObject>>
            }
            .observeOn(Schedulers.computation())
            .map { r ->
                doSomething(r) // r must be converted to a List<someObject>
            }
            .observeOn(AndroidSchedulers.mainThread())
            .take(1)
            .subscribe {
            }
Observable.just(索引)
.map{d->
//返回一个可观察的
}
.observeOn(Schedulers.computation())
.map{r->
doSomething(r)//r必须转换为列表
}
.observeOn(AndroidSchedulers.mainThread())
.采取(1)
.订阅{
}

如果您在第一张
地图
中显式返回一个
可观察对象
,则应使用
平面地图
将可观察对象展平为一个。否则,您的第一个
map
实际上返回了一个
Observable

map
操作符对流的每个值应用一个转换,因此如果使用
map
的Observable类型为
Observable
,它的逻辑将应用于
Thing
类型的值。据我所知,您正在从第一个“映射”返回一个
Observable
,即将
d
转换为
Observable
。这意味着您正在将第二个
映射
应用于一个
可观察的
。我是否正确理解了您的示例?第一个映射返回一个可观察的。在第二张图中,我想用just List调用doSomething。doSomething函数需要列表而不可观察在第一张地图的范围内,您是否显式返回类型为
List
observatable
的内容?如果是后者,你应该考虑使用<代码>平面图< /代码>。好吧,这是正确的。第一个贴图应该是平面贴图。我以为我懂平面图。显然我没有。你可以把你的答案作为解决方案,我会选择它。谢谢哈哈,是的,我去过那里。当您学习如何使用RxJava时,它能够不断地将您击倒。很高兴我帮了忙。