Sobes.tech
Junior — Middle
85

Wie implementiert man eine Funktion, die gleichzeitig asynchron Daten aus zwei verschiedenen Quellen lädt?

Unternehmen wurden gefragt
Ютека

Antwort von AI

sobes.tech KI

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

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