RxJava(Kotlin),Observable.amb和PublishSubject没有开火

我们试图观察15s的时间间隔,或者在我们的主题refreshEventsSubject上触发refreshEventsSubject ,但是没有成功。

主题是这样启动的

private val refreshEventsSubject = PublishSubject<Long>()

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

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

我们每隔15s就会收到一次这个事件,但是跑步之后这个话题还没有开始

refreshEventsSubject.onNext(0)

任何想法赞赏。

(一切都是用Kotlin写的)

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

也可以使用http://reactivex.io/documentation/operators/amb.html而不是合并,因为合并会在您的主题上发出两个事件oppon调用onNext&#x3002;

请阅读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.merge : http : //reactivex.io/documentation/operators/merge.html