Назад к задачам
Junior — Senior
10

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

Компании, где спрашивали:

ЯндексЯндекс
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

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

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

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