RxJava(Kotlin),Observable.amb和PublishSubject没有触发

时间:2016-11-16 11:14:03

标签: android rx-java kotlin rx-kotlin

我们正在尝试观察15秒间隔,或者我们在onNext拍摄refreshEventsSubject时,但没有成功。

主题是这样开始的

private val refreshEventsSubject = PublishSubject<Long>()

然后我们尝试像这样观察它

Observable.merge(Observable.interval(0, 15, TimeUnit.SECONDS), refreshEventsSubject) .subscribe { ... }

我们每隔15秒从间隔中获取事件,但是在运行

后主体没有触发

refreshEventsSubject.onNext(0)

任何想法都赞赏。

(一切都写在Kotlin)

2 个答案:

答案 0 :(得分:1)

确保未从主线程调用refreshEventsSubject.onNext(0),因为它可能会导致死锁!

同样使用http://reactivex.io/documentation/operators/amb.html而不是合并,因为合并会在您的主题上发出两个调用onNext的事件。

答案 1 :(得分:0)

阅读AMB的文档:http://reactivex.io/documentation/operators/amb.html

具体为emit all of the items from only the first of these Observables to emit an item or notification

您正在寻找的运营商可能是Observable.mergehttp://reactivex.io/documentation/operators/merge.html