我正在使用sed --posix
学习RxJava
,我试图合并两个请求。但它没有向Retrofit
api提出请求。它只是一个研究案例的简单代码
这就是我现在所拥有的,我做错了什么?
getToken
答案 0 :(得分:1)
您只是定义了Observable
,但您没有订阅它,因此该流根本无法获取数据:
apiManager.getToken(body)
.subscribeOn(Schedulers.io())
.map { people -> saveUser(people) }
.doOnNext { car -> Log.d("car", car.toString()) }
.flatMap { car -> Observable.from(car!!.items) }
.flatMap { carId ->
val header = HashMap<String, String>()
header.put("Authorization", "Bearer " + user!!.authorization)
apiManager.getCarItens(header, carId.id!!)
}
.doOnCompleted { showUser(user) }
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe() // This is what you were missing!
我建议你清理一些东西,但是:
!!
:如果对象为空,它将导致Exception
,如果您没有处理它们,它将会冒泡(您可以,onError
parameter to subscribe
< / LI>
doOnCompleted
参数代替onCompleted
而不是subscribe
,这使得它在错误处理旁边,并且更容易阅读