Как сделать последовательный вызов API в RX - PullRequest
2 голосов
/ 05 февраля 2020

Я начал читать о RX на Android. Я пытался сделать вызов API POST из цепочки RX. Я хотел посмотреть, является ли это правильным способом, и что мне нужно даже создать одноразовый снова при совершении вызова и снова зарегистрировать темы подписки / наблюдения. Пожалуйста, смотрите комментарии в коде.

disposable.add(module.getInfo()
.flatMapSingleElement {
  profile ->
    profile.getDetails().map {
      //IS THIS NEW DISPOSABLE NEEDED
      newDisposable.add(
    //Retrofit api to return Single<ResponseBody>
    //IS THIS THE RIGHT WAY TO MAKE A SEQUENTIAL API CALL IN RX CONSUMING DATA FROM ANOTHER OPERATOR
    module.saveImageDetails(
        ImageDetails(imageId)
        subscribeOn(Schedulers.io().observeOn(Schedulers.io())
            .subscribe(
                Consumer { handleResponse(it) },
                createErrorHandler()
            )
    )
      profile
    }
}
.subscribeOn(ioScheduler)
.observeOn(uiScheduler)
.subscribe(//do something)
...