Sobes.tech
Junior — Middle

Чӣ гуна метавонед иҷрои корутинҳои асинхронро дар барномаатон қатъ ё бекор кунед?

sobes.tech AI

Ҷавоб аз AI

Дар Kotlin барои қатъ ё бекор кардани корутин асинхронӣ механизмии бекоршавӣ тавассути Job истифода мешавад. Барои бекор кардани корутин, бояд усули cancel() дар Job мувофиқро фаро гирифт.

Масалан:

val job = CoroutineScope(Dispatchers.Default).launch {
    repeat(1000) { i ->
        println("Ман кор мекунам $i ...")
        delay(500)
    }
}

// Баъдтар, барои бекор кардани иҷро:
job.cancel()

Муҳим аст, ки дар дохили корутин нуқтаҳои бекоршавӣ вуҷуд дошта бошанд — масалан, фароидани функсияҳои suspend, мисоли delay(), ки ҳолати бекоршавиро санҷида, имкон медиҳанд, ки корутин дуруст ба анҷом расад.