我已经发布,他们分别工作的所有方法,但我面对的问题与第一个,在那里我concatWith()两大悬浮剂的Rx concatWith()只返回第一可流动的结果
return userFavouriteStores()
.concatWith(userOtherStores())
.doOnNext(new Consumer<List<StoreModel>>() {
@Override
public void accept(@io.reactivex.annotations.NonNull List<StoreModel> storeModels) throws Exception {
Log.i("storeModels", "" + storeModels);
}
})
public Flowable<List<StoreModel>> userFavouriteStores() {
return userStores()
.map(UserStores::favoriteStores)
.flatMap(storeId -> storeDao.storesWithIds(storeId))
.map(stores -> { // TODO Konvert to Kotlin map {}
List<StoreModel> result = new ArrayList<>(stores.size());
for (se.ica.handla.repositories.local.Store store : stores) {
result.add(store.toStoreModel(StoreModel.Source.Favourite));
}
return result;
}); }
public Flowable<List<StoreModel>> userOtherStores() {
return userStores().map(UserStores::otherStores)
.flatMap(storeId -> storeDao.storesWithIds(storeId))
.map(stores -> {
List<StoreModel> result = new ArrayList<>(stores.size());
for (Store store : stores) {
result.add(store.toStoreModel(StoreModel.Source.Other));
}
return result;
});}
更新方法:userStores( )用于喜爱和其他商店,
private Flowable<UserStores> userStores() {
return apiIcaSeResource
.userStores()
.toFlowable(); }
@GET("user/stores")
Single<UserStores> userStores();
'userStores()'方法做了什么?确保'Flowable'触发'onComplete',否则'concat'将不起作用 – yosriz
你期望发生什么我想知道? –
@Habib Okanla他们每个人发出3个项目,在一个可流动的项目中有6个项目 –