Sobes.tech
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.