等待多个异步调用在RxJava中完成

我的场景非常简单,但我似乎无法在任何地方找到它.

我有一组要迭代的元素,每个元素调用一个异步函数,然后等待它们全部完成(这又以异步方式发生,在函数的逻辑中实现).我对RxJava相对较新,并且通过将回调传递给函数并在最后等待,在NodeJS中很容易做到这一点.
这是我需要的伪代码(元素的迭代器不需要是同步的也不是有序的):

for(line in lines){
 callAsyncFunction(line);
}
WAIT FOR ALL OF THEM TO FINISH

非常感谢您的帮助!

最佳答案 使用Rx:

Observable
.from(lines)
.flatMap(line -> callAsyncFunctionThatReturnsObservable(line).subscribeOn(Schedulers.io())
.ignoreElements();

此时,根据您要执行的操作,您可以使用.switchIfEmpty(…)订阅另一个observable.

点赞