Junior — Middle
Cum se poate întrerupe sau anula executarea unei coroutine asincrone în aplicația dvs.?
sobes.tech AI
Răspuns de la AI
În Kotlin, pentru a întrerupe sau anula o corutină asincronă, se utilizează mecanismul de anulare prin Job. Pentru a anula corutina, trebuie să apelați metoda cancel() pe Job-ul corespunzător.
Exemplu:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Lucrez $i ...")
delay(500)
}
}
// Mai târziu, pentru a anula execuția:
job.cancel()
Este important ca în interiorul corutinei să existe puncte de anulare — de exemplu, apeluri la funcții suspend, precum delay(), care verifică starea de anulare și permit corutinei să se încheie corect.