Junior — Middle
¿Cómo se puede interrumpir o cancelar la ejecución de una coroutine asíncrona en su aplicación?
sobes.tech AI
Respuesta de la IA
En Kotlin, para interrumpir o cancelar una coroutine asíncrona, se utiliza el mecanismo de cancelación a través de Job. Para cancelar la coroutine, es necesario llamar al método cancel() en el Job correspondiente.
Ejemplo:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Trabajando $i ...")
delay(500)
}
}
// Más tarde, para cancelar la ejecución:
job.cancel()
Es importante que dentro de la coroutine existan puntos de cancelación — por ejemplo, llamadas a funciones suspend, como delay(), que verifican el estado de cancelación y permiten que la coroutine finalice correctamente.