Sobes.tech
Junior — Middle

İki müxtəlif mənbədən eyni zamanda asinxron məlumat yükləyən funksiya necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Android-də iki müxtəlif mənbədən məlumatların asinxron yüklənməsi üçün Kotlin Coroutines istifadə edə bilərsiniz. Bu, iki əməliyyatı paralel şəkildə işə salmağa və onların tamamlanmasını gözləməyə imkan verir.

Nümunə:

import kotlinx.coroutines.*

fun loadData() {
    CoroutineScope(Dispatchers.IO).launch {
        val deferred1 = async { loadFromSource1() }
        val deferred2 = async { loadFromSource2() }

        val result1 = deferred1.await()
        val result2 = deferred2.await()

        withContext(Dispatchers.Main) {
            // Nəticələrin əsas axında işlənməsi
            println("Nəticə 1: $result1")
            println("Nəticə 2: $result2")
        }
    }
}

suspend fun loadFromSource1(): String {
    // Məlumatların yüklənməsinin simulasyonu
    delay(1000)
    return "Mənbədən 1 məlumatları"
}

suspend fun loadFromSource2(): String {
    // Məlumatların yüklənməsinin simulasyonu
    delay(1500)
    return "Mənbədən 2 məlumatları"
}

Bu nümunədə, iki yükləmə funksiyası paralel şəkildə işə salınır və onların tamamlanmasından sonra nəticələr işlənir.