RxJava PublishSubject subscriptionOn

时间:2019-08-28 14:02:51

标签: android kotlin rx-java2

我有一个提供PublishSubject作为Observable的类:

 val eventsObservable: Observable<Event>
        get() = eventsSubject.hide()
 private val eventsSubject = PublishSubject.create<Event>()

在我的ViewModel中,我在主线程上订阅了eventsObservable,例如:

eventsObservable
  .subscribeOn(AndroidSchedulers.mainThread())
  .observeOn(AndroidSchedulers.mainThread())
  .subscribe({}, {})

但是,onNext()从未这样被调用。仅当我将subscribeOn更改为 IO 线程时。

对于.subscribeOn(AndroidSchedulers.mainThread())PublishSubject.hasObservers()始终返回false

订阅和事件发出是在主线程上执行的。

所以我的问题是-为什么会发生这种事情?我有一些主意,但不确定。

0 个答案:

没有答案