天道酬勤,学无止境

concatmap

RxJava中的concatMap和flatMap有什么区别(What is the difference between concatMap and flatMap in RxJava)

问题 似乎这两个功能非常相似。 它们具有相同的签名(接受rx.functions.Func1<? super T, ? extends Observable<? extends R>> func ),并且它们的大理石图看起来完全相同。 无法在此处粘贴图片,但这是用于concatMap的图片,这是用于flatMap的图片。 似乎有在所得的描述一些细微的差别Observable ,其中一个由产生concatMap包含的项目,从concatinating所得观测量,并通过所产生的一个结果flatMap包含的项目,从第一合并所得的观测量,并且发射的结果结果那合并。 但是,这种微妙之处对我来说还不清楚。 任何人都可以对这种差异进行更好的解释,理想情况下可以提供一些示例来说明这种差异。 回答1 如您所写,这两个函数非常相似,而细微的差别是创建输出的方式(应用映射功能之后)。 平面地图使用合并运算符,而concatMap使用concat运算符。 如您所见,concatMap输出序列是有序的-第一个Observable发出的所有项目都在第二个Observable发出的所有项目之前发出, 合并flatMap输出序列时-合并的Observable发出的项目可能以任何顺序出现,而不管它们来自哪个源Observable。 回答2 即使这里的答案很好,但没有示例也不容易发现差异。 因此

2021-04-10 05:14:53    分类:技术分享    java   rx-java   flatmap   concatmap

What is the difference between concatMap and flatMap in RxJava

It seems that these 2 functions are pretty similar. They have same signature (accepting rx.functions.Func1<? super T, ? extends Observable<? extends R>> func), and their marble diagrams look exactly same. Can't paste the pics here, but here's one for concatMap, and here's one for flatMap. There seems to be some subtle difference in the description of resulting Observable, where one produced by concatMap contains items that result from concatinating resulting Observables, and the one produced by flatMap contains items that result from first merging the resulting Observables, and emitting the

2021-03-31 01:28:48    分类:问答    java   rx-java   flatmap   concatmap