用Java编写我调用zip()方法,该方法接收一些返回Observable< ...>的方法。
目前我无法进入下面的地图,这可能是因为其中一个方法尚未返回值。 (虽然似乎所有方法都被称为。)
有没有办法调试过程并查看它被卡住的原因?
感谢。
答案 0 :(得分:5)
假设你有:
result = Observable.zip(sourceA, sourceB, sourceC)
只需在每个来源上添加.doOnNext()
即可记录他们正在发布的内容(或代替doOnNext
,订阅每个来源)。例如:
result = Observable.zip(sourceA.doOnNext(/*logging...*/),
sourceB.doOnNext(/*logging...*/),
sourceC.doOnNext(/*logging...*/))
可能发生的事情是,其中一个来源的排放频率与其他来源不同。当您严格知道所有源以相同的速度/频率发出事件时,必须使用zip
。您可能想尝试使用combineLatest
。两者之间的区别是: