无限扩展 Rx Singles zip

Extending Rx Singles zip infinitely

我需要异步进行大量 API 调用,显然要确保它们都通过,这样我就可以在一个地方处理 error/success。

有没有一种方法可以轻松扩展 Kotlin 中的 Singles.zip() 功能以获取超过 9 个基数的参数(在最佳情况下,使其获取任何给定数量的参数)而无需进行大量操作为 t10、t11 等编写您自己的扩展时复制粘贴工作?

好吧,写几十个扩展很简单,但是很麻烦,不是很优雅并且增加了额外的工作。

Single.zip 方法接受一个 Iterable of Singles

val list = arrayListOf<Single<String>>()
list.add(Single.just("hello"))
list.add(Single.just("world"))

Single.zip(list) { args -> Arrays.asList(args) }
        .subscribeOn(Schedulers.io())
        .observeOn(Schedulers.computation())
        .subscribe()