Sobes.tech
Junior — Middle

Kuidas saate teie rakenduses katkestada või tühistada asünkroonse korutina täitmise?

sobes.tech AI

Vastus AI-lt

Kotlinis kasutatakse asünkroonse korutina katkestamiseks või tühistamiseks Job-mehhanismi. Korutina tühistamiseks tuleb kutsuda vastava Job-i cancel() meetod.

Näide:

val job = CoroutineScope(Dispatchers.Default).launch {
    repeat(1000) { i ->
        println("Töötan $i ...")
        delay(500)
    }
}

// Hiljem, täitmise tühistamiseks:
job.cancel()

Oluline on, et korutinas oleksid tühistuspunktid — näiteks, suspend-funktsioonide, nagu delay(), kutsed, mis kontrollivad tühistamise olekut ja võimaldavad korutinal õigesti lõpetada.