Rxjava链条不止一个请求
问题描述:
我是RxJava的新概念。 我想链的一些电话: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(/* */);
感谢您的帮助。 – Unii