用Java编写时,我调用zip()方法,该方法接收一些返回Observable 的方法。
目前,我无法进入以下 map ,这可能是由于其中一种方法尚未返回值这一事实所致。 (尽管似乎所有方法都在调用。)
有没有一种方法可以调试过程并查看为什么卡住了?
谢谢。
最佳答案
假设您有:
result = Observable.zip(sourceA, sourceB, sourceC)
只需在每个来源上添加一个
.doOnNext()
即可记录其发出的内容(或订阅doOnNext
而不是zip
)。例如:result = Observable.zip(sourceA.doOnNext(/*logging...*/),
sourceB.doOnNext(/*logging...*/),
sourceC.doOnNext(/*logging...*/))
可能发生的情况是,这些光源之一发射的频率与其他光源发射的频率不同。当您严格知道所有源以相同的速度/频率发射事件时,必须使用
combineLatest
。您可能想尝试使用ojit_code。两者之间的区别是: