Я пытаюсь загрузить несколько объектов, используя сопрограммы Hibernate и Kotlin на уровне приложений.Делая что-то вроде этого.
fun load() : SomeData {
val steps = someFunctionCallToGetSteps()
val stepCollection : List<Step> = MutableList()
runBlocking {
for (step in steps) {
val s = async { getStepData(step) }
payers.add(s.await())
}
}
}
private suspend fun getStepData(step : Int) : Iterable<Step> {
return someComputation()
}
Но этот подход не верен, потому что я использую await
сразу, чтобы он не был асинхронным.Мне сказали собрать все отсрочки и использовать awaitAll
, но я нигде не могу найти ни одного примера.Можно ли это сделать?