Rxjava链式多于一个请求
Rxjava chain more than one request
我是 RxJava 的新手。
我想链接一些电话:
Observable<RoomList> listRoomsCall = mRoomServiceApi.listRooms();
//这个电话会给我 RoomIds
下一步是调用所有 RoomIds - 请求后请求
mMeetingServiceApi.listMeetings(roomID, startsAtString, endsAtString, free))
我应该如何将第一个调用与下一个调用链接起来?
我认为我应该使用 flatMap
并循环调用所有请求,但如何在最后连接所有响应?
listRoomsCall.flatMap(v -> {
for (ExchangeRoom exchangeRoom : v.getExchangeRoomList()) {
mMeetingServiceApi.listMeetings(roomID, startsAtString, endsAtString, free);
}
})
将内部列表再次变成 Observable
和 flatMap
:
listRoomsCall
.flatMapIterable(v -> v.getExchangeRoomList())
.flatMap(exchangeRoom -> {
mMeetingServiceApi.listMeetings(roomID, startsAtString, endsAtString, free);
})
.subscribe(/* */);
或
listRoomsCall
.flatMap(v ->
Observable.fromIterable(v.getExchangeRoomList())
.flatMap(exchangeRoom -> {
mMeetingServiceApi.listMeetings(roomID, startsAtString, endsAtString, free);
})
)
.subscribe(/* */);
我是 RxJava 的新手。 我想链接一些电话:
Observable<RoomList> listRoomsCall = mRoomServiceApi.listRooms();
//这个电话会给我 RoomIds 下一步是调用所有 RoomIds - 请求后请求
mMeetingServiceApi.listMeetings(roomID, startsAtString, endsAtString, free))
我应该如何将第一个调用与下一个调用链接起来?
我认为我应该使用 flatMap
并循环调用所有请求,但如何在最后连接所有响应?
listRoomsCall.flatMap(v -> {
for (ExchangeRoom exchangeRoom : v.getExchangeRoomList()) {
mMeetingServiceApi.listMeetings(roomID, startsAtString, endsAtString, free);
}
})
将内部列表再次变成 Observable
和 flatMap
:
listRoomsCall
.flatMapIterable(v -> v.getExchangeRoomList())
.flatMap(exchangeRoom -> {
mMeetingServiceApi.listMeetings(roomID, startsAtString, endsAtString, free);
})
.subscribe(/* */);
或
listRoomsCall
.flatMap(v ->
Observable.fromIterable(v.getExchangeRoomList())
.flatMap(exchangeRoom -> {
mMeetingServiceApi.listMeetings(roomID, startsAtString, endsAtString, free);
})
)
.subscribe(/* */);