Rxjava Выполнить список запросов и пару результатов - PullRequest
0 голосов
/ 24 сентября 2018
        //Observable<List<System>>
        var temp = apiService.getSystems(accessToken = ACCESS_TOKEN, id = LOCATION_ID)

        temp.flatMapIterable { //it:List<System>
            it
        }.flatMap ({ t: System ->
            apiService.getEquipments(ACCESS_TOKEN, t.id)
        }, {
            t1: System, t2: ListResponse<Equipment> ->
            mutableMapOf(Pair(t1, t2))
        })
        .toList()
        .subscribe {
            t: MutableList<MutableMap<System, 
               ListResponse<Equipment>>>? -> {

            }
        }

Я хотел бы добиться вложенных вызовов API в rxjava.Мой первый вызов получит список систем, затем из списка систем захочется зациклить и вызвать API оборудования, чтобы получить список оборудования.Затем объедините их в пару, получив в результате List<Pair<System, List<Equipments>>>

Допустим, у меня есть список из 3 систем.Когда я запускаю этот код, только первая система выполнит бифункцию, а остальные 4 пропустят бифункцию.

Есть ли обходной путь?Может ли кто-нибудь помочь мне, как достичь ожидаемого результата.

Источник: RxJava 2 вложенных сетевых запроса

...