Junior — Middle
Kotlin-də suspend funksiyasının icrasını necə başlatmaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
Kotlin-də suspend funksiyalar yalnız başqa bir suspend funksiyadan və ya korutindən çağırıla bilər. Suspend kontekstindən kənarda suspend funksiyasını başlatmaq üçün korutin scope və launch və ya async kimi başlatma funksiyalarından istifadə edilir, məsələn, kotlinx.coroutines kitabxanasından.
Nümunə:
import kotlinx.coroutines.*
suspend fun fetchData() {
delay(1000) // uzun əməliyyatın təqlidi
println("Məlumatlar alındı")
}
fun main() {
runBlocking { // korutina başlatır və cari axını bloklayır
fetchData() // suspend kontekstində suspend funksiyasını çağırır
}
GlobalScope.launch { // qlobal scope-də korutina başlatmaq
fetchData()
}
Thread.sleep(2000) // proqramın əvvəl tamam olmaması üçün
}
Beləliklə, suspend funksiyasını başlatmaq üçün ya suspend funksiyası daxilində olmalısınız, ya da launch, async və ya runBlocking istifadə edərək korutina başlatmalısınız.