【发布时间】:2018-02-05 16:36:55
【问题描述】:
在RxJava2中,flatMap()和flatMapIterable()有什么区别?
flatMapIterable()背后的逻辑是什么?
【问题讨论】:
-
没有javadocs吗?
-
有。但只是混淆了。
在RxJava2中,flatMap()和flatMapIterable()有什么区别?
flatMapIterable()背后的逻辑是什么?
【问题讨论】:
flatMap:
将上游源的值映射到Observables,订阅它们并以可能交错的方式合并它们的结果。换句话说,它合并了动态生成的推送源。
flatMapIterable:
将上游源的值映射到Iterables 并一个接一个地迭代它们中的每一个。换句话说,它合并了动态生成的拉取源。
您可以将flatMapIterable 表示为flatMap(Observable::fromIterable) 或concatMap(Observable::fromIterable)。
除了作为类型之间的快捷方式外,它是直接实现的,因此提供了considerably lower overhead。
【讨论】: