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(), ки ҳолати бекоршавиро санҷида, имкон медиҳанд, ки корутин дуруст ба анҷом расад.