чӣ гуна coroutineScope муайян мекунад, ки корутинҳои ӯ бекор карда шудаанд?
sobes.tech AI
Ҷавоб аз AI
coroutineScope дар корутинҳои Kotlin муайян мекунад, ки корутинҳои кӯдакии худро тавассути механизми бекор кардани контексти корутин муайян мекунад. Агар яке аз корутинҳои дар дохили coroutineScope бекор шавад (масалан, ба сабаби истисно ё бекор кардани ошкор), тамоми coroutineScope сигнали бекорро мегирад.
Ин ба он сабаб аст, ки ҳама корутинҳои дар дохили coroutineScope мерос мебаранд CoroutineContext умумӣ, ки дар он Job мавҷуд аст. Вақте ки ин Job бекор мешавад, ҳамаи корутинҳои кӯдакии низ бекор мешаванд.
Ба ҳамин тариқ, coroutineScope ҳолати корутинҳои кӯдакии худро тавассути контексти умумӣ назорат мекунад ва ба бекор кардани онҳо ҷавоб медиҳад, иҷрои онҳоро қатъ мекунад ва агар лозим бошад, истиснои CancellationException-ро партояд.
Масалан:
suspend fun мисол() = coroutineScope {
val job = launch {
// коре баъзе
delay(1000)
}
delay(500)
job.cancel() // бекор кардани корутин кӯдаки
// coroutineScope ба бекоршавиро муайян мекунад ва қатъ мешавад
}