简体   繁体   English

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

[英]How to get emitted value from first observable

I have a flow like this 我有这样的流程

        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
                        }
                    }

Thanks for any help 谢谢你的帮助

ps Kotlin syntax ps Kotlin语法

You have to use something else than flatMap like zip ( doc ). 除了像zipdoc )这样的flatMap之外,你还必须使用其他东西。
With zip the two observable will be combined two by two. 使用zip ,两个可观察量将两个一个组合。

Or you can continue to use flatMap but add a map on the second observable like: 或者您可以继续使用flatMap但在第二个observable上添加一个map ,如:

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

Then the end observer will receive a Pair<> . 然后结束观察者将收到一Pair<>

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

相关问题 我如何从可观察的事物中获得价值 - How can I get value from observable 如何从 rxjava 中的 Single Observable 获取值? - How to get the value from Single Observable in rxjava? 在 RxJava 2 中,如何使一个 Observable 发出另一个 Observable 发出的组合项? - How to Make an Observable that Emits Combined Items Emitted by Another Observable in RxJava 2? 如何(RxJava)正确设置处理器将处理从Observable发出的数据的条件? - How to (RxJava) properly set conditions on which handler will process data, emitted from Observable? RxJava Flatmap:如何检查哪个可观察到的发出错误 - RxJava flatmap: how to check which observable emitted an error 如何在Android上使用Rx累积Observable的每2个发射值? - How can I accumulate each 2 emitted values of Observable with Rx on Android? 从 Observable 中获取对象值(RxJava、Retrofit) - Get object value from Observable (RxJava, Retrofit) 可观察到的仅发射第一值 - Observable only emitting first value rxjava + retrofit - 如何在android中等待并获得第一个observable的结果? - rxjava + retrofit - How to wait and get the result of first observable in android? 如何从 Observable 返回值到 Rxjava 2 - How to return value from Observable to Rxjava 2
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM