Sobes.tech
Junior — Middle

Cum se implementează o funcție care încarcă simultan date din două surse diferite în mod asincron?

sobes.tech AI

Răspuns de la AI

Pentru a încărca date din două surse diferite în mod asincron pe Android, poți folosi Kotlin Coroutines. Acest lucru va permite rularea a două operațiuni în paralel și așteptarea finalizării lor.

Exemplu:

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) {
            // Procesarea rezultatelor pe thread-ul principal
            println("Rezultat 1: $result1")
            println("Rezultat 2: $result2")
        }
    }
}

suspend fun loadFromSource1(): String {
    // Simulare încărcare date
    delay(1000)
    return "Date din sursa 1"
}

suspend fun loadFromSource2(): String {
    // Simulare încărcare date
    delay(1500)
    return "Date din sursa 2"
}

În acest exemplu, două funcții de încărcare sunt lansate în paralel, iar rezultatele sunt procesate după finalizare.