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.