在 kotlin 中压缩 4 个可观察对象
Zip 4 observables in kotlin
我必须打 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()
我必须打 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()