следюущими образом:
// ids – мои айдишники рецептов
ids.forEach {
mDisposable = ServerApiImpl().getApi
.getRecipeById(id)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe( // тут пихаю в спиоск по рецепту)
}
Но когда айдишников много, ловлю ошибку, что создалось очень много потоков:
Process: ru.ipackage, PID: 9600
java.lang.RuntimeException: Adding window failed
Вопрос как это делать в одном потоке в RX? Т.е. брать id получать для него рецепт getRecipeById и выпихывать по одному в список?
Я так полгаюа начало будед:
ids – мои айдишники
Observable.fromIterable(ids)
.flatMap {
// вот тут уже не понимаю, что делать с айди
// для него нужно вызвать загрузку с севера, а как её дальше обработать пока не пойму
}
val api = ServerApiImpl().getApi Observable.fromIterable(ids) .flatMap(api::getRecipeById) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe( // тут пихаю в спиоск по рецепту) как-то так
Обсуждают сегодня