Как реализовать функцию, которая одновременно загружает данные из двух различных источников асинхронно?

Для асинхронной загрузки данных из двух различных источников в 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"
}

В этом примере две функции загрузки запускаются параллельно, а затем результаты обрабатываются после их завершения.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку