我必须进行4个api调用,并等到所有这些完成为止。我想用它们的名称分别处理每个数据,但无法弄清楚如何在Kotlin中进行处理。
val observables = mutableListOf<Single<ApiResponse>>()
observables.add(repository.getFirstApiData())
observables.add(repository.getSecondApiData())
observables.add(repository.getThirdApiData())
observables.add(repository.getFourthApiData())
Single.zip(observables) { array ->
}
.subscribe()
这工作正常,但我不想按数组进行迭代,但我想以某种方式将其映射到4个变量中
最佳答案
你可以这样写
Single.zip(
repository.getFirstApiData(),
repository.getSecondApiData(),
repository.getThirdApiData(),
repository.getFourthApiData(),
Function4<ApiResponse, ApiResponse, ApiResponse, ApiResponse, Unit> { t1, t2, t3, t4 ->
println("$t1 $t2 $t3 $t4")
}
).subscribe()
关于kotlin - Kotlin的Zip 4 Observables,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57321767/