Sobes.tech
Junior — Middle

Kotlin'da suspend funksiyasini qanday boshlash mumkin?

sobes.tech AI

AIdan javob

Kotlin'da suspend-funksiyalar faqat boshqa suspend-funksiyadan yoki korutina ichidan chaqirilishi mumkin. Suspend-maydonida bo'lmagan kontekstda suspend-funksiyani ishga tushirish uchun korutina scope va launch yoki async kabi ishga tushirish funksiyalaridan foydalaniladi, masalan, kotlinx.coroutines kutubxonasidan.

Misol:

import kotlinx.coroutines.*

suspend fun fetchData() {
    delay(1000) // uzoq davom etadigan operatsiyaning taqlidi
    println("Ma'lumotlar olindi")
}

fun main() {
    runBlocking { // korutina ishga tushiradi va joriy oqimni bloklaydi
        fetchData() // suspend-funksiyani suspend kontekstida chaqirish
    }

    GlobalScope.launch { // global scope'da korutina ishga tushirish
        fetchData()
    }
    Thread.sleep(2000) // dastur oldin tugamasligi uchun
}

Shuning uchun, suspend-funksiyani boshlash uchun, suspend-funksiyada bo'lishingiz yoki launch, async yoki runBlocking yordamida korutina ishga tushirishingiz kerak.