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.