Junior — Middle
Ինչպե՞ս կարելի է սկսել suspend ֆունկցիայի կատարմանը Kotlin-ում։
sobes.tech AI
Պատասխան AI-ից
Kotlin-да suspend-функциялар тек қана бошқа suspend-функциядан ё корутиндан чақирила олади. Suspend-бағдар контексте ташқаридан suspend-функцияни ишга тушириш учун, coroutine scope ва launch ёки async каби ишга тушириш функцияларидан фойдаланилади, масалан, kotlinx.coroutines китобхонасидан.
Масалан:
import kotlinx.coroutines.*
suspend fun fetchData() {
delay(1000) // узун операцияни имитациялаш
println("Маълумотлар қабул қилинди")
}
fun main() {
runBlocking { // корутинни ишга туширади ва ҳозирги тўпламни блоклайди
fetchData() // suspend-функцияни suspend контексте чақириш
}
GlobalScope.launch { // глобал scope-да корутинни ишга тушириш
fetchData()
}
Thread.sleep(2000) // программа эртага тугаши учун
}
Шунинг учун, suspend-функцияни бошлаш учун, suspend-функцияда бўлишингиз ёки launch, async ёки runBlocking ёрдамида корутинни ишга туширишингиз керак.