RxJava:单身名单

RxJava: List of Singles

我在使用 RxJava 时遇到了一些问题。我正在用 Kotlin 编码。这是我的问题:
我有一份单身名单。现在我需要所有 Singles 的发出结果才能继续。 如果 Singles 可以并行 运行 并且结果保持相同顺序,那就太好了。 当所有单身人士都发出结果时,我想继续。

val list_of_singles = mutableListOf<Single<Type>>()
val results: List<ResultType> = runSingles(list_of_singles)
// use results here...

如果您需要更多信息,请告诉我。

谢谢!!! :)

我是这样解决的:

    val disposable = Observable.fromIterable(itemList).flatMapSingle { item ->
        getSingle(item)
            .map { singleResult ->
                // do something with single result
            }
    }.doOnComplete {
        // do stuff after processing all singles
    }.subscribe()

    addToCompositeDisposable(disposable)

使用框架比反对它更有意义。

Single#zip呢?

fun main() {
    val singles = listOf(
        Single.just(1),
        Single.just(2),
        Single.just(3)
    )
    val list : Single<List<Int>> = Single.zip(singles) {
        it.toList() as List<Int>
    }
    
    list.test().assertResult(listOf(1,2,3))
}