Sobes.tech
Назад к вопросам
Junior — Middle
68

Каким образом можно прервать или отменить выполнение асинхронной корутины в вашем приложении?

Компании, где спрашивали
Uzum
X5 DigitalX5 Digital

Ответ от нейросети

sobes.tech AI

В Kotlin для прерывания или отмены асинхронной корутины используется механизм отмены через Job. Чтобы отменить корутину, нужно вызвать метод cancel() у соответствующего Job.

Пример:

val job = CoroutineScope(Dispatchers.Default).launch {
    repeat(1000) { i ->
        println("Работаю $i ...")
        delay(500)
    }
}

// Позже, чтобы отменить выполнение:
job.cancel()

Важно, чтобы внутри корутины были точки отмены — например, вызовы suspend функций, таких как delay(), которые проверяют состояние отмены и позволяют корутине корректно завершиться.