在RxJava2中,flatMap()flatMapIterable()有什么区别?

flatMapIterable()背后的逻辑是什么?

最佳答案

flatMap

将上游源的值映射到Observable,对其进行订阅并以潜在的交错方式合并其结果。换句话说,它合并了动态生成的推送源。

flatMapIterable

将上游源的值映射到Iterable,并一个接一个地迭代。换句话说,它合并了动态生成的拉动源。

您可以将flatMapIterable表示为flatMap(Observable::fromIterable)concatMap(Observable::fromIterable)

除了作为类型之间的捷径外,它还可以直接实现并提供considerably lower overhead

09-19 06:58