当前位置: 首页 > 知识库问答 >
问题:

在RXJava中flatmap和switchmap有什么区别?

易俊驰
2023-03-14

switchmap的rxjava文档定义相当模糊,它链接到与FlatMap相同的页面。这两个操作员有什么不同?

共有1个答案

穆浩皛
2023-03-14

根据文档(http://reactivex.io/documentation/operators/flatmap.html)

switchmap类似于flatmap,但它只会从新的observable发出项,直到从源observable发出新事件为止。

大理石图很好地说明了这一点。请注意图中的差异:

 类似资料:
  • 问题内容: 似乎这两个功能非常相似。它们具有相同的签名(接受),并且它们的大理石图看起来完全相同。无法在此处粘贴图片,但这是用于concatMap的图片,这是用于flatMap的图片。在结果的描述中似乎存在一些细微的差异,其中所产生的包含通过合并产生的可观察变量产生的项目,而所产生的包含通过首先合并所产生的可观察变量并发出合并结果而产生的项目。 但是,这种微妙之处对我来说还不清楚。任何人都可以更好

  • 有人,请解释一下SwitchMap和FlatMap在Javascript方面的区别(在角度透视图中,rxjs 5) 以我的理解。 SwitchMap仅发出最新的可观察值,并取消先前的可观察值。 flatMap收集所有单独的可观测数据,并在单个数组中返回所有可观测数据,而不关心可观测数据的顺序。异步工作。 concatMap保持秩序并发出所有可观察值,同步工作 是这样吗? mergeMap与上面的工

  • 问题内容: 我想使用RxJava 2 创建一个从视图单击侦听器。我从最简单的实现开始(在此方法中,我不使用lambda来显示不同的类型): 然后我考虑了如果不需要进一步设置为null 的方法。我发现有两种名称相似(对我而言)的方法: 和 它们之间有什么区别,我应该使用哪个? 问题答案: 从Javadoc: [ 是]具有单个可以抛出的cancel方法的功能接口。 该不是一个功能界面以及实现它的时候方

  • 问题内容: 什么时候在 RxJava中* 使用vs ? * 举例来说,假设我们要将包含JSON的文件映射到包含JSON的字符串中, 使用,我们必须以某种方式处理。但是如何? 使用,它更加冗长,但是如果我们选择其他地方甚至重试,我们可以将问题转发到链的下方并处理错误。 我喜欢的简单性,但是喜欢的错误处理(不是冗长)。我还没有看到关于此的最佳实践,并且很好奇在实践中如何使用它。 问题答案: 将一个事件

  • 例如,我们希望将包含JSON的文件映射到包含JSON的字符串中-- 使用,我们必须以某种方式处理。但怎么做呢?: 使用,它要冗长得多,但我们可以将问题转发到链中,如果我们选择其他地方,甚至重试,就可以处理错误: 我喜欢的简单性,但喜欢的错误处理(而不是冗长)。我还没有看到任何关于这方面的最佳实践,我很好奇这在实践中是如何使用的。

  • 在Java 8中,和方法有什么区别?