对不起,我的英语。我有ID类别列表,并且确实提出了这样的要求:
for(Product cat:all_cats) {
new DefaultMediator()
.getProductsInCatalog(cat.getID())
.timeout(15, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(list_products -> {
//do something
},
throwable -> {
Log.e("asd", "asd");
});
}
我认为这不好。我如何使用rxJava发送请求列表?
答案 0 :(得分:3)
您可以通过组合两个运算符来实现:
fromIterable or fromArray:从all_cats中创建观察对象
concatMap:用于网络通话并保留订单
代码如下:
Observable.fromIterable(all_cats)
.subscribeOn(Schedulers.io())
.concatMap(cat ->
new DefaultMediator()
.getProductsInCatalog(cat.getID())
.timeout(15, TimeUnit.SECONDS);
)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(list_products -> {
//do something
},
throwable -> {
Log.e("asd", "asd");
});