Sobes.tech
Junior — Middle

Kā īstenot gaidīšanu uz uzdevuma pabeigšanu, kas uzsākts ar launch korutīnā?

sobes.tech AI

Atbilde no AI

В Kotlin для ожидания завершения задачи, запущенной с помощью launch, нужно сохранить ссылку на объект Job, который возвращается функцией launch, и вызвать у него метод join(). Это приостановит текущую корутину до завершения запущенной задачи.

Пример:

val job = CoroutineScope(Dispatchers.Default).launch {
    // Некоторая асинхронная работа
    delay(1000L)
    println("Задача завершена")
}

runBlocking {
    job.join() // Ожидаем завершения задачи
    println("Продолжаем после завершения")
}

Таким образом, join() позволяет синхронизировать выполнение и дождаться окончания корутины, запущенной через launch.