RxJava Kotlin如何从单个可观察对象中获取分离对象
问题描述:
RxJava Kotlin平面图不会从分割字符串中返回分离对象。而是返回列表RxJava Kotlin如何从单个可观察对象中获取分离对象<String>
val source: Observable<String> = Observable.just("521934/2342/FOXTROT")
.flatMap{Observable.fromArray(it.split("/"))}
.subscribe{Log.d(TAG, "$it")}
它返回列表:
[521934, 2342, FOXTROT]
但书(托马斯·尼尔德:学习RxJava/2017年/页114)表示,它已经返回分隔字符串
521934
2342
FOXTROT
http://reactivex.io/documentation/operators/flatmap.html表示它返回Single对象。在我的情况下,我得到了单列表对象。所以,文档说的是真的。但是我想要像书中的例子那样得到结果!
我如何分割列表并获得分离的对象?
答
的flatMapIterable
制作使用,所以你可以从列表中的项目流:
Observable.just("521934/2342/FOXTROT")
.flatMap { input -> Observable.fromArray(input.split("/")) }
.flatMapIterable { items -> items }
.subscribe { item -> Log.d(TAG, item) }