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) } }
我在 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) } }