RxJava Flowable<List<T>> 对每一项进行操作,然后对结果列表进行操作
RxJava Flowable<List<T>> do operation on each item and then do operation on resulted list
我有一个 Flowable<List<Item>>
我想要:
- 对每一项进行操作
- 之后,我想对整个结果列表进行操作。
这现在不起作用,因为它看起来像是进入了一个无限循环::
return list.concatMap(list ->
Observable.fromIterable(list)
.map(item -> {
item.setValue(value);
return item;
}).toList().toFlowable()
.flatMap(updatedList -> mLocalDataSource.update(updatedList)))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
我认为在 flatMap()
/concatMap()
中完成这项工作没有任何优势。我只想说,如果 Item
是不可变的,它会更干净。
list.concatMap(items -> {
for(Item item : items)
item.setValue(value);
return mLocalDataSource.update(items)
});
我有一个 Flowable<List<Item>>
我想要:
- 对每一项进行操作
- 之后,我想对整个结果列表进行操作。
这现在不起作用,因为它看起来像是进入了一个无限循环::
return list.concatMap(list ->
Observable.fromIterable(list)
.map(item -> {
item.setValue(value);
return item;
}).toList().toFlowable()
.flatMap(updatedList -> mLocalDataSource.update(updatedList)))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
我认为在 flatMap()
/concatMap()
中完成这项工作没有任何优势。我只想说,如果 Item
是不可变的,它会更干净。
list.concatMap(items -> {
for(Item item : items)
item.setValue(value);
return mLocalDataSource.update(items)
});