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时,它能够不断地将您击倒。很高兴我帮了忙。