我正在使用Rx-android和Retrofit进行网络请求的应用程序,但是现在项目中有一个必须进行嵌套网络调用的需求。我试图用谷歌搜索它但没有找到任何好的文章。如果有人从事过这样的话题,请告诉我您的发现。
答案 0 :(得分:1)
假设您正在使用rxjava适配器进行改造:
fun firstRequest(): Single<Response<String>>
fun secondRequest(idFromFirstRequest: String): Single<Response<ResponseBody>>
使用flatmap
运算符链接网络呼叫:
firstRequest()
// do more operators on the request, like transforming the object, or showing it first on the ui
.flatMap { stringId -> secondRequest(stringId) }
// you can flatMap here again to chain another network requests
// .flatMap { thirdRequest() }
// .flatMap { fourthRequest() }
// and so on...
答案 1 :(得分:0)
关于API链接的文章很多,最简单的方法是使用Rx-Java方法
1)使用RxJava Zip运算符(用于并行请求)
2)使用RxJava flatMap()运算符(一个接一个地顺序请求)
请参阅这两个链接以获取更多详细示例