Android 如何在RX中进行顺序API调用

Android 如何在RX中进行顺序API调用,android,rx-java,rx-java2,rx-android,Android,Rx Java,Rx Java2,Rx Android,我开始在Android上阅读RX。我试着从rx链中进行一个POST api调用。我想看看这是否是正确的方法,我甚至需要在进行调用时再次创建一次性线程,并再次注册订阅/观察线程。请参见代码中的注释 disposable.add(module.getInfo() .flatMapSingleElement { profile -> profile.getDetails().map { //IS THIS NEW DISPOSABLE NEEDED newDi

我开始在Android上阅读RX。我试着从rx链中进行一个POST api调用。我想看看这是否是正确的方法,我甚至需要在进行调用时再次创建一次性线程,并再次注册订阅/观察线程。请参见代码中的注释

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)
disposable.add(module.getInfo())
.flatMapSingleElement{
个人资料->
profile.getDetails().map{
//这个新的一次性用品需要吗
new.add(
//改装空气污染指数
//这是在使用来自另一运营商的数据的RX中进行顺序API调用的正确方法吗
module.saveImageDetails(
ImageDetails(imageId)
subscribeOn(Schedulers.io().observeOn(Schedulers.io())
.订阅(
消费者{HandlerResponse(it)},
createErrorHandler()
)
)
轮廓
}
}
.subscribeOn(ioScheduler)
.observeOn(uiScheduler)
.subscribe(//做某事)

在这样的lambda中订阅总是一种代码味道。请改用
flatMap
。另请参见