gpt4 book ai didi

java - 调试停止的 RxJava zip 运算符

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:08 27 4
gpt4 key购买 nike

用 Java 编写我调用 zip() 方法,该方法接收一些返回 Observable<...> 的方法。

目前我无法进入下图,这可能是因为其中一种方法尚未返回值。 (尽管似乎调用了所有方法。)

有没有办法调试进程,看看为什么会卡?
谢谢。

最佳答案

假设你有:

result = Observable.zip(sourceA, sourceB, sourceC)

只需在每个源上添加一个 .doOnNext() 来记录它们发出的内容(或者代替 doOnNext,订阅每个源)。例如:

result = Observable.zip(sourceA.doOnNext(/*logging...*/),
sourceB.doOnNext(/*logging...*/),
sourceC.doOnNext(/*logging...*/))

可能发生的情况是这些来源之一的发射频率与其他来源不同。 zip 必须在您严格知道所有源都以相同的速度/频率发出事件时使用。您可能想尝试使用 combineLatest。两者的区别是:

  • zip:返回的 Observable 仅在源的所有第 n 个项目都已发出时才发出第 n 个“组合”项目。查看diagram .
  • combineLatest:返回的 Observable 会在其任何源发出一个项目时发出一个“组合”项目。查看diagram .

关于java - 调试停止的 RxJava zip 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25862198/

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