Sobes.tech
Junior — Middle

Comment peut-on interrompre ou annuler l'exécution d'une coroutine asynchrone dans votre application?

sobes.tech IA

Réponse de l'IA

En Kotlin, pour interrompre ou annuler une coroutine asynchrone, on utilise le mécanisme d'annulation via Job. Pour annuler la coroutine, il faut appeler la méthode cancel() sur le Job correspondant.

Exemple :

val job = CoroutineScope(Dispatchers.Default).launch {
    repeat(1000) { i ->
        println("Travail en cours $i ...")
        delay(500)
    }
}

// Plus tard, pour annuler l'exécution :
job.cancel()

Il est important que la coroutine contienne des points d'annulation — par exemple, des appels à des fonctions suspendues, comme delay(), qui vérifient l'état d'annulation et permettent à la coroutine de se terminer proprement.