Целью является последовательность от List<Mono<Int>>
до Mono<List<Int>>
.Тело flatMap
делает это, используя Mono.block()
во фрагменте кода Kotlin.Есть ли намного лучший способ, чем этот, если я хочу оставить Mono<List<Int>>
вместо Flux<Int>
?Спасибо
fun foo(i: Int): Mono<Int> = Mono.just(i)
fun doubleUp(i: Int): List<Mono<Int>> {
return listOf(Mono.just(i * 2), Mono.just((i + 1) * 2), Mono.just((i + 2) * 2))
}
val listOfMono: Mono<ArrayList<Int>> = foo(10).flatMap {
val xs = doubleUp(it)
val ys = ArrayList<Int>()
xs.forEach{ys.add(it.block())} // Mono.block()
Mono.just(ys)
}