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.