Junior — Middle
Ako môžete prerušiť alebo zrušiť vykonávanie asynchrónnej korutiny vo vašej aplikácii?
sobes.tech AI
Odpoveď od AI
V Kotlinu sa na prerušenie alebo zrušenie asynchrónnej korutiny používa mechanizmus zrušenia cez Job. Aby ste zrušili korutinu, musíte zavolať metódu cancel() na príslušnom Job.
Príklad:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Pracujem $i ...")
delay(500)
}
}
// Neskôr, na zrušenie vykonávania:
job.cancel()
Dôležité je, aby vnútri korutiny boli body na zrušenie — napríklad volania suspend funkcií ako delay(), ktoré kontrolujú stav zrušenia a umožňujú korutine správne ukončiť.