RxJava - 在 switchMap 订阅中获取原始输入参数

RxJava - Get original input parameter in switchMap subscription

我在 Android 上的可编辑文本字段中使用 Rx。我想在订阅方法中检索原始用户输入。

到目前为止,我一直在使用 flatmap with a resultSelector parameter 来保留用户输入。我想使用 switchMap 来避免处理旧结果的结果。如何将此代码迁移到 switchMap:

    editText.textChanges().map { it.toString().trim() }.flatMap(
            {
                Observable.just("Data: $it")
            },
            { input: String, output: String ->
                Pair(input, output)
            }
    ).subscribe(
            process(it.first, it.second)
    )

只需在 switchMap 中命名参数,然后通过将其组合成您想要的任何可观察对象来保留它 return:

switchMap { v -> someSource.map { w -> Pair(v, w) } }