我需要异步进行很多API调用,并且显然要确保它们全部通过,这样我才能在一个地方处理错误/成功。
有没有一种方法可以轻松地扩展Kotlin中的Singles.zip()功能以采用多个基本9参数(在最佳情况下,使其采用任意给定数量的参数),而无需进行大量的复制粘贴工作在编写自己的t10,t11等扩展名时??
好吧,编写许多扩展很简单,但是很麻烦,不是很优雅,并且会增加其他工作。
答案 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()