Sobes.tech
Junior — Middle

Kā varat pārtraukt vai atcelt asinhronās korutinas izpildi jūsu lietojprogrammā?

sobes.tech AI

Atbilde no AI

Kotlin valodā, lai pārtrauktu vai atceltu asīnhronisko korutīnu, tiek izmantots atcelšanas mehānisms caur Job. Lai atceltu korutīnu, ir jāizsauc metodes cancel() attiecīgajā Job.

Piemērs:

val job = CoroutineScope(Dispatchers.Default).launch {
    repeat(1000) { i ->
        println("Strādāju $i ...")
        delay(500)
    }
}

// Vēlāk, lai atceltu izpildi:
job.cancel()

Svarīgi, lai korutīnā būtu atcelšanas punkti — piemēram, izsaukumi suspend funkcijām, kā delay(), kas pārbauda atcelšanas stāvokli un ļauj korutīnai pareizi noslēgties.