Sobes.tech
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 ёрдамида корутинни ишга туширишингиз керак.