0

我有一个Flowable<List<Item>>我想要的:

  1. 对每个项目进行操作
  2. 之后,我想对整个结果列表进行操作。

这现在不起作用,因为它看起来像是进入了一个无限循环::

        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());
4

1 回答 1

3

我认为仅在flatMap()/中进行这项工作没有任何优势concatMap()。我想说的是,如果它Item是不可变的,它会更干净。

list.concatMap(items -> {
  for(Item item : items)
    item.setValue(value);
  return mLocalDataSource.update(items)
});
于 2021-09-01T14:50:20.487 回答