无限扩展Rx Singles拉链

时间:2019-07-03 09:49:17

标签: java android kotlin rx-java rx-kotlin

我需要异步进行很多API调用,并且显然要确保它们全部通过,这样我才能在一个地方处理错误/成功。

有没有一种方法可以轻松地扩展Kotlin中的Singles.zip()功能以采用多个基本9参数(在最佳情况下,使其采用任意给定数量的参数),而无需进行大量的复制粘贴工作在编写自己的t10,t11等扩展名时??

好吧,编写许多扩展很简单,但是很麻烦,不是很优雅,并且会增加其他工作。

1 个答案:

答案 0 :(得分:2)

Single.zip方法采用可迭代的单打

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()