Junior — Middle
Эки башка булактан маалыматтарды бир убакта асинхрондуу жүктөгөн функцияны кантип ишке ашырууга болот?
sobes.tech AI
AIден жооп
Androidда эки башка булактагы маалыматтарды асинхрондуу жүктөө үчүн Kotlin Coroutines колдонсо болот. Бул эки операцияны параллел жүргүзүүгө жана алардын аяктоо убактысын күтүүгө мүмкүндүк берет.
Мисал:
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) {
// Натыйжаларды негизги агымда иштетүү
println("Натыйжа 1: $result1")
println("Натыйжа 2: $result2")
}
}
}
suspend fun loadFromSource1(): String {
// Маалыматтарды жүктөө симуляциясы
delay(1000)
return "Көздөн алынган маалымат 1"
}
suspend fun loadFromSource2(): String {
// Маалыматтарды жүктөө симуляциясы
delay(1500)
return "Көздөн алынган маалымат 2"
}
Бул мисалда, эки жүктөө функциясы параллел ишке киргизилет жана алардын аяктоосу менен натыйжалар иштетилет.