我试图在n项目上进行一些async工作,并在继续之前等待所有项目完成。

我将在whatfunc?位置放置何时订阅on可顺序火灾一次?

Observable.range(0, n)
    .<whatfunc?>({ s ->  doAsyncWorkThatReturnsObservable(s) })
    .(other?)
    .subscribe({println "All complete"})
.

感谢

有帮助吗?

解决方案

flatmap

务必为订阅中的正确参数提供闭包。从链接调整以适合您提供的示例:

Observable.range(0, n)
    .flatMap({n -> doAsyncWorkThatReturnsObservable(n)})
    .subscribe(
       { println(it); },                          // onNext
       { println("Error: " + it.getMessage()); }, // onError
       { println("Sequence complete"); }          // onCompleted
    );
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top