Sobes.tech
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.