Junior — Middle
Come si può interrompere o annullare l'esecuzione di una coroutine asincrona nella tua applicazione?
sobes.tech AI
Risposta dell'AI
In Kotlin, per interrompere o annullare una coroutine asincrona si utilizza il meccanismo di cancellazione tramite Job. Per cancellare la coroutine, è necessario chiamare il metodo cancel() sul Job corrispondente.
Esempio:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Lavoro $i ...")
delay(500)
}
}
// Più tardi, per cancellare l'esecuzione:
job.cancel()
È importante che all'interno della coroutine ci siano punti di cancellazione — ad esempio, chiamate a funzioni suspend, come delay(), che verificano lo stato di cancellazione e consentono alla coroutine di terminare correttamente.