Для асинхронной загрузки данных из двух различных источников в Android можно использовать Kotlin Coroutines. Это позволит запускать две операции параллельно и дождаться их завершения.
Как реализовать функцию, которая одновременно загружает данные из двух различных источников асинхронно?
Для асинхронной загрузки данных из двух различных источников в Android можно использовать Kotlin Coroutines. Это позволит запускать две операции параллельно и дождаться их завершения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для асинхронной загрузки данных из двух различных источников в 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"
}
В этом примере две функции загрузки запускаются параллельно, а затем результаты обрабатываются после их завершения.