Sobes.tech
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.