r12*_*597 2 android request rx-java
对不起我的英语不好。我有 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");
});
}
Run Code Online (Sandbox Code Playgroud)
我觉得不好。我如何使用 rxJava 发送请求列表?
您可以通过组合两个运算符来实现这一点:
fromIterable 或 fromArray : 从 all_cats 创建 observable
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");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
535 次 |
| 最近记录: |