gpt4 book ai didi

java - Rxjava链式多于一个请求

转载 作者:行者123 更新时间:2023-11-29 04:23:16 24 4
gpt4 key购买 nike

我是 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(/* */);

关于java - Rxjava链式多于一个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47868504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com