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