繁体   English   中英

如何从第一个可观测值获得发射值

[英]How to get emitted value from first observable

我有这样的流程

        Observable.fromIterable(configuration.symbols) // list of data (for ex. 0, 1, 2, 3)
                    .subscribeOn(Schedulers.newThread())
                    .observeOn(AndroidSchedulers.mainThread())
                    .flatMap {
api.anotherCall(
                                symbol = it) // emitted value 
                                .subscribeOn(Schedulers.newThread())
                                .observeOn(AndroidSchedulers.mainThread())
                    }
                    .subscribe { res ->
                        {
                            Ln.i(res) // result, but it would be perfect to know this data + symbol as a second param
                        }
                    }

谢谢你的帮助

ps Kotlin语法

除了像zipdoc )这样的flatMap之外,你还必须使用其他东西。
使用zip ,两个可观察量将两个一个组合。

或者您可以继续使用flatMap但在第二个observable上添加一个map ,如:

api.anotherCall(symbol = it) // emitted value 
    .map { secondValue -> it to secondValue }
    .subscribeOn(Schedulers.newThread())
    .observeOn(AndroidSchedulers.mainThread())

然后结束观察者将收到一Pair<>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM