将 List<Observable<String>> 组合成 Observable<List<String>>

Posted

技术标签:

【中文标题】将 List<Observable<String>> 组合成 Observable<List<String>>【英文标题】:Combine List<Observable<String>> into Observable<List<String>> 【发布时间】:2019-02-01 20:44:36 【问题描述】:

我有以下例子:

val strings: List<Observable<String>> = listOf(
                Observable.just("One"),
                Observable.just("Two"),
                Observable.just("Three")
        )

我尝试使用combineLatestzipmerge 将上面的strings 转换为以下但我失败了:

val convertedStrings: Observable<List<String>> = strings.xxxx()

是否有 RxJava-approach 来实现上述结论?

【问题讨论】:

【参考方案1】:

怎么样:

Single<List<String>> list = Observable.concat(strings).toList();

?

(也有可能你正在寻找concatEager。)

【讨论】:

以上是关于将 List<Observable<String>> 组合成 Observable<List<String>>的主要内容,如果未能解决你的问题,请参考以下文章

合并 Observable 列表并等待所有完成

Observable 完成后返回项目列表

RxJS:如何将 Observable<Observable<Thing>> 转换为 Observable<Thing[]>

Observable 分别返回字符串的每个字母

无法将 Observable<Store> 类型的类型值转换为预期的参数类型 Observable<Store?>

按需组合嵌套 Observable 的最新值