Junior — Middle
Hoe kunt u de uitvoering van een asynchrone coroutine in uw toepassing onderbreken of annuleren?
sobes.tech AI
Antwoord van AI
In Kotlin wordt het mechanisme van annulering via Job gebruikt om een asynchrone coroutine te onderbreken of te annuleren. Om de coroutine te annuleren, moet je de methode cancel() aanroepen op de bijbehorende Job.
Voorbeeld:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Werk $i ...")
delay(500)
}
}
// Later, om de uitvoering te annuleren:
job.cancel()
Het is belangrijk dat er binnen de coroutine punten van annulering zijn — bijvoorbeeld, aanroepen van suspend-functies zoals delay(), die de annuleringsstatus controleren en de coroutine correct laten afsluiten.