gpt4 book ai didi

java - RxJava 结合最新调试

转载 作者:行者123 更新时间:2023-12-02 01:51:04 26 4
gpt4 key购买 nike

我正在使用 RxJava mergeLatest 运算符。

根据文档,订阅时,第一个组合发出事件仅在两个可观察对象发出这些值后才会发生,从这一点开始,它将在每个可观察对象的每次发出时发出。

我如何确定第一个可观察的发出事件已经发生并且现在等待第二个事件..

最佳答案

您可以将 doOnEach 用于 ObservablesFlowablesdoOnEvent 用于 SinglesCompletablesMaybes。这些操作的作用是每次从源发出一个项目时执行一些代码,然后再将信号传递给下游。它对于将调试/记录代码“注入(inject)”到 RX 流中非常有用。

参见:https://proandroiddev.com/briefly-about-rxjava-logging-20308b013e6d

编辑:

val a = BehaviorSubject.create<Int>().apply {
onNext(1)
}.doOnEach { EventReporter.d(TAG, it.value?.toString() ?: "") }

val b = BehaviorSubject.create<Int>().apply {
onNext(2)
}.doOnEach { EventReporter.d(TAG, it.value?.toString() ?: "") }

Observable.combineLatest(listOf(a, b), { args: Collection<Int> -> args}

关于java - RxJava 结合最新调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52985471/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com