Junior — Middle
Kā īstenot funkciju, kas vienlaikus asinhroni veic datu ielādi no diviem dažādiem avotiem?
sobes.tech AI
Atbilde no AI
Lai asinhroni datu ielāde no diviem dažādiem avotiem Android platformā, jūs varat izmantot Kotlin Coroutines. Tas ļaus vienlaikus palaist divas operācijas un gaidīt to pabeigšanu.
Piemērs:
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) {
// Rezultātu apstrāde galvenajā pavedienā
println("Rezultāts 1: $result1")
println("Rezultāts 2: $result2")
}
}
}
suspend fun loadFromSource1(): String {
// Datu ielādes simulācija
delay(1000)
return "Avota 1 dati"
}
suspend fun loadFromSource2(): String {
// Datu ielādes simulācija
delay(1500)
return "Avota 2 dati"
}
Šajā piemērā divas ielādes funkcijas tiek palaistas paralēli, un rezultāti tiek apstrādāti pēc to pabeigšanas.