Junior — Middle
Ako implementovať funkciu, ktorá súčasne načítava údaje z dvoch rôznych zdrojov asynchrónne?
sobes.tech AI
Odpoveď od AI
Na asynchrónne načítanie dát z dvoch rôznych zdrojov v Android môžete použiť Kotlin Coroutines. To umožní spustiť dve operácie paralelne a počkať na ich dokončenie.
Príklad:
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) {
// Spracovanie výsledkov na hlavnom vlákne
println("Výsledok 1: $result1")
println("Výsledok 2: $result2")
}
}
}
suspend fun loadFromSource1(): String {
// Simulácia načítania dát
delay(1000)
return "Dáta zo zdroja 1"
}
suspend fun loadFromSource2(): String {
// Simulácia načítania dát
delay(1500)
return "Dáta zo zdroja 2"
}
V tomto príklade sú dve funkcie načítania spustené paralelne a výsledky sú spracované po ich dokončení.