【问题标题】:Extending Rx Singles zip infinitely无限扩展 Rx Singles 拉链
【发布时间】:2019-07-03 09:49:17
【问题描述】:
我需要异步进行大量 API 调用,显然要确保它们都通过,以便我可以在一个地方处理错误/成功。
有没有一种方法可以轻松扩展 Kotlin 中的 Singles.zip() 功能以获取超过 9 个基本参数(在最佳情况下,使其获取任何给定数量的参数),而无需进行大量的复制粘贴工作为 t10、t11 等编写自己的扩展时?
好吧,写几十个扩展很简单,但是很麻烦,不是很优雅,而且增加了额外的工作。
【问题讨论】:
标签:
java
android
kotlin
rx-java
rx-kotlin
【解决方案1】:
Single.zip 方法接受一个 Iterable 的 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()