Junior — Middle
Kotlinде suspend функциясынын ишке ашырылышын кантип баштоо керек?
sobes.tech AI
AIден жооп
Kotlin'de suspend-funksiyalar faqat boshqa suspend-funksiyadan yoki korutinadan chaqirilishi mumkin. Suspend-maydonidan tashqarida suspend-funksiyani ishga tushirish uchun coroutine scope va launch yoki async kabi boshlash 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 boshlaydi va joriy oqimni bloklaydi
fetchData() // suspend-funksiyani suspend kontekstida chaqirish
}
GlobalScope.launch { // global scope'da korutina boshlash
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 boshlashingiz kerak.