我已經發布,他們分別工作的所有方法,但我面對的問題與第一個,在那裏我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個項目 –