Какой планировщик RxJava использует doOnDispose ()? - PullRequest
0 голосов
/ 25 июня 2018

У меня есть сборка Rxjava примерно так:

    val observable = dialogPresenter.show(dialogData, viewContext!!)
            .subscribeOn(mainScheduler)
            .observeOn(mainScheduler)
            .doOnDispose(dialogData::dismiss)

Когда подписка удаляется, вызов dialogData::dismiss происходит в потоке, отличном от используемого mainScheduler, который, как следует из названия, использует основной поток для конкретной платформы, на которой выполняется код. Javadoc для doOnDispose() говорит, что он не работает по умолчанию для определенного планировщика, но я ожидал, что он будет использовать либо планировщик subscribeOn(), либо планировщик observeOn. Так что же он использует и есть ли элегантный способ управления тем, в каком потоке он выполняется?

...