Junior — Middle
Korutinler kullanarak aynı anda iki ağ isteği nasıl başlatılır ve yanıtlar nasıl birleştirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Android'de coroutine kullanarak iki ağ isteğini aynı anda çalıştırmak için, coroutine içinde async fonksiyonunu kullanabilir ve sonuçları await ile birleştirebilirsiniz. Kotlin örneği:
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 {
// ilk isteğin implementasyonu
}
suspend fun networkRequest2(): Response2 {
// ikinci isteğin implementasyonu
}
Bu şekilde, her iki istek paralel olarak başlatılır ve sonuçlar tamamlandıktan sonra birleştirilir.