Junior — Middle
¿Cómo implementar una función que cargue datos de dos fuentes diferentes de manera asíncrona al mismo tiempo?
sobes.tech AI
Respuesta de la IA
Para cargar datos de dos fuentes diferentes de forma asíncrona en Android, puedes usar Kotlin Coroutines. Esto permitirá ejecutar dos operaciones en paralelo y esperar a que ambas finalicen.
Ejemplo:
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) {
// Procesamiento de resultados en el hilo principal
println("Resultado 1: $result1")
println("Resultado 2: $result2")
}
}
}
suspend fun loadFromSource1(): String {
// Simulación de carga de datos
delay(1000)
return "Datos del origen 1"
}
suspend fun loadFromSource2(): String {
// Simulación de carga de datos
delay(1500)
return "Datos del origen 2"
}
En este ejemplo, dos funciones de carga se ejecutan en paralelo, y luego los resultados se procesan después de su finalización.