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

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

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

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

В методе updateRegions возвращается Single со списком регионов, при этом поток выполнения внутри него не меняется. Нужно объяснить, на каком Scheduler‑е будет исполняться код внутри flatMap(getCity()).

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

Опишите, как взаимодействуют subscribeOn и observeOn в этой цепочке и какой поток будет использован для вызова getCity() внутри flatMap.