Junior — Middle
¿Cómo se pueden iniciar simultáneamente dos solicitudes de red usando corutinas y combinar sus respuestas?
sobes.tech AI
Respuesta de la IA
Para ejecutar dos solicitudes de red simultáneamente usando corutinas en Android, puedes usar la función async dentro de una corutina y luego combinar los resultados con await. Ejemplo en Kotlin:
import kotlinx.coroutines.*
suspend fun fetchData(): Pair<Response1, Response2> = coroutineScope {
val deferred1 = async { networkRequest1() }
val deferred2 = async { networkRequest2() }
val result1 = deferred1.await()
val result2 = deferred2.await()
Pair(result1, result2)
}
suspend fun networkRequest1(): Response1 {
// implementación de la primera solicitud
}
suspend fun networkRequest2(): Response2 {
// implementación de la segunda solicitud
}
De esta manera, ambas solicitudes se ejecutan en paralelo y los resultados se combinan después de su finalización.