如何有 2 个连续的两个改造请求并作为结果接收 Flowable<List<InfoDetail>>?
How to have 2 sequently two retrofit requests and receive as a result Flowable<List<InfoDetail>>?
我有两个改装请求
@GET("user/info")
Single<Infos> infoLists();
@GET("user/info/{id}")
Single<InfoDetail> shoppingListItem(@Path("id") int id);
收到用户信息列表我想为每个用户获取更多详细信息
public Flowable<List<Single<UserExtended>>> test() {
return fetchInfoItems().
map(Items::items).
toObservable().
flatMapIterable(items -> items)
.map(itemDetail -> fetchUserDetail(itemDetail.getId())
.map(userInfoDetail -> new UserDetail(userInfoDetail.id,.....))
.toList()
.toFlowable();}
我想接收 return Flowable<List<UserExtended>>
而我接收 Flowable<List<Single<UserExtended>>>
试试 flatMapSingle(),你的 gradle 版本应该是 3.0.0-beta4
public Flowable<List<UserExtended>> test() {
return fetchInfoItems().
map(Items::items).
toObservable().
flatMapIterable(items -> items)
.flatMapSingle(itemDetail -> fetchUserDetail(itemDetail.getId())
.map(userInfoDetail -> new UserDetail(userInfoDetail.id,.....))
.toList()
.toFlowable();}
我有两个改装请求
@GET("user/info")
Single<Infos> infoLists();
@GET("user/info/{id}")
Single<InfoDetail> shoppingListItem(@Path("id") int id);
收到用户信息列表我想为每个用户获取更多详细信息
public Flowable<List<Single<UserExtended>>> test() {
return fetchInfoItems().
map(Items::items).
toObservable().
flatMapIterable(items -> items)
.map(itemDetail -> fetchUserDetail(itemDetail.getId())
.map(userInfoDetail -> new UserDetail(userInfoDetail.id,.....))
.toList()
.toFlowable();}
我想接收 return Flowable<List<UserExtended>>
而我接收 Flowable<List<Single<UserExtended>>>
试试 flatMapSingle(),你的 gradle 版本应该是 3.0.0-beta4
public Flowable<List<UserExtended>> test() {
return fetchInfoItems().
map(Items::items).
toObservable().
flatMapIterable(items -> items)
.flatMapSingle(itemDetail -> fetchUserDetail(itemDetail.getId())
.map(userInfoDetail -> new UserDetail(userInfoDetail.id,.....))
.toList()
.toFlowable();}