Я использую rxJava
, и я хочу сделать forEach
списка, и для каждого элемента сделать вызов, а затем, когда эти вызовы завершатся, позвонить еще один.
Это мой код
val flowableList = answerListCreated.map {
questionService.addAnswerToQuestion(
questionId,
it.id,
MyUtils.getAccessTokenFromLocalStorage(context = mContext!!)
)
}
disposable = Flowable.concat(flowableList)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
addCorrectsAnswersToQuestion(questionId)
}
Но он присоединяется к subscribe
дважды, и он должен присоединиться к подписке один раз.
Что мне не хватает?Я подумал, что concat должен быть хорошим вариантом, потому что я прочитал, что сначала он выполняет первое задание, а затем, когда задание завершено, запускает задание 2.
Хорошо, также, если необходимо, я могу вернуть Observable<T>
,с этого момента в моем сервисе я возвращаю Flowable<T>
, чтобы проверить это.