RxJava 2,flatmap的resultSelector参数会发生什么?

Ers*_*man 1 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顺便说一句。

aka*_*okd 5

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

source.flatMap(originalValue -> 
    createInnerSource(originalValue)
    .map(innerValue -> process(originalValue, innerValue))
)
Run Code Online (Sandbox Code Playgroud)

的lambda map将为originalValue您捕获。