私はRxAndroidライブラリ+ Retrofit2を使用しています。Retrofit2 + RxAndroidはループ内で多くのリクエストを実行します
私は2つのポストの要求は:すべてのカテゴリ(リターン一覧==各ストリングは、カテゴリIDである)を取得
- を
- は、私はすべての製品をロードする必要があるProductsByCategory(リストを返す)
を取得しますAppを起動するとDBに保存されます。
私はMainFragmentを作成するときに、私はすべてのカテゴリー得る:
restApiFactory.getProductService().getCategories(new CategoryRequest(initiatorId))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new CategoriesHandler());
と応答をハンドル:
@Override
public void onNext(CategoryResponse value) {
List<CategoryItem> categoryItems = value.getCategoryItems();
...
}
をそして、私は別の要求(ProductsByCategory
)を送る必要があるが、私はそれを行う方法を理解していませんか?
私はforeachの中でそれを送ることができます。
for (CategoryItem categoryItem : categoryItems) {
Observable<Products> product = ProductsByCategory...
}
またはmabyいくつかの観察可能なマージがある....
を私は知りません。一般的に、これを行う方法は?サーバーへの2つの要求。 idのリストと2番目の製品が返されます。
さらに、 'List'を 'Observable ' –
AesSedai101
に変換することもできます。前回の呼び出しのリストがあり、そのリストの各要素でAPIをもう一度呼び出す必要がありますこのような; –