Obersable<Object> 的可变列表等到它们全部完成并将它们组合成一个列表<Object>

Mutable list of Obersable<Object> wait until all of them finish and combine them into a List<Object>

我不是 RxJava/RxAndroid 方面的专家,我对这种情况遇到了一些问题。 基本上我有一个可变的可观察列表,我永远不知道它的大小,我想等到所有这些都完成。

var observableList: MutableList<Observable<Object>> = mutableListOf()

我想做这样的事情:

Observable.zip(observableList,....)

并将所有 Object 结果合并为 Object<List>

你可以在上面使用Observable.concat() for this and call toList()

Observable.concat(observableList)
          .subscribeOn(...)
          .toList()
          .observeOn(...)
          .subscribe(...)

在此期间,您还可以使用 subscribeOnobserveOn 切换线程,以确保不会阻塞 UI 线程。