Sobes.tech
Back to tasks
Junior — Senior
150

Разбор поведения doOnSubscribe в RxJava‑цепочке

Companies where asked:
ЯндексЯндекс

Task condition

livecode

В методе updateRegions вызывается getRegions, который возвращает Single со списком регионов, при этом внутри цепочки поток не переключается. Необходимо объяснить, на каком Scheduler‑е будет выполнен код, переданный в doOnSubscribe.

fun updateRegions() {
    getRegions()
        .subscribeOn(Schedulers.single())
        .observeOn(Schedulers.computation())
        .doOnSubscribe {
            showProgress()
        }
        .subscribeOn(Schedulers.io())
        .subscribe(
            { regions ->
                showRegions(regions)
            }
        )
}

Опишите, какой поток будет использоваться для вызова showProgress() и почему.