Back to questions
X5 Digital
Junior — Middle
72
Как реализовать ожидание завершения задачи, запущенной с помощью launch в корутине?
Companies where asked
Uzum
Answer from AI
sobes.tech AI
В Kotlin для ожидания завершения задачи, запущенной с помощью launch, нужно сохранить ссылку на объект Job, который возвращается функцией launch, и вызвать у него метод join(). Это приостановит текущую корутину до завершения запущенной задачи.
Пример:
val job = CoroutineScope(Dispatchers.Default).launch {
// Некоторая асинхронная работа
delay(1000L)
println("Задача завершена")
}
runBlocking {
job.join() // Ожидаем завершения задачи
println("Продолжаем после завершения")
}
Таким образом, join() позволяет синхронизировать выполнение и дождаться окончания корутины, запущенной через launch.