android - RxJava 2,flatmap 的 resultSelector 参数发生了什么?

标签 android rx-java rx-java2

在 RxJava1 中,flatmap 有一个重载方法,允许您保留源值并将其向下传递到流中。

我从以下博客文章中获得了这些知识

https://medium.com/rxjava-tidbits/rxjava-tidbits-1-use-flatmap-and-retain-original-source-value-4ec6a2de52d4

然而,转向 RxJava2,我似乎找不到它。我检查了 Rx1 和 Rx2 的变化,但没有列出。 我想知道它是否仍然存在,但我可能没有找对地方。

顺便说一下,我正在使用 Single

最佳答案

我不认为 Single 曾经支持这个运算符,Observable/Flowable 运算符仍然存在。您可以通过映射内部源的结果来完成此行为:

source.flatMap(originalValue -> 
    createInnerSource(originalValue)
    .map(innerValue -> process(originalValue, innerValue))
)

map 的 lambda 将为您捕获 originalValue

关于android - RxJava 2,flatmap 的 resultSelector 参数发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48695024/

相关文章:

java - RxJava 中的 Pull 实现

java - 删除/丢弃 RxJava 中 Observable 的最后一个数据值

java - 将异步调用转换为RxJava,处理完所有项目后如何手动完成?

android - 解析最近 5 分钟内创建的对象的查询

java - Android应用程序中引用Facebook SDK

android - 使用 RxJava 将本地数据与远程(或缓存)数据连接起来

java - RxJava - 很长的延迟

android - 使用 MVVM 在 Android 中验证权限的优雅方式

java - sqlite 查询 android java 数组

android - 为 Android 编写 USB 驱动程序