Junior — Middle
Jak lze ve vaší aplikaci přerušit nebo zrušit provádění asynchronní korutiny?
sobes.tech AI
Odpověď od AI
V Kotlinu se k přerušení nebo zrušení asynchronní korutiny používá mechanismus zrušení přes Job. Aby bylo možné korutinu zrušit, je třeba zavolat metodu cancel() u příslušného Job.
Příklad:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Pracuji $i ...")
delay(500)
}
}
// Později, pro zrušení provádění:
job.cancel()
Je důležité, aby uvnitř korutiny byly body zrušení — například volání suspend funkcí, jako je delay(), které kontrolují stav zrušení a umožňují korutině správně ukončit.