Sobes.tech
Junior — Middle

Comment implémenter une fonction qui charge simultanément des données de deux sources différentes de manière asynchrone?

sobes.tech IA

Réponse de l'IA

Pour charger des données de deux sources différentes de manière asynchrone sur Android, vous pouvez utiliser Kotlin Coroutines. Cela permettra d'exécuter deux opérations en parallèle et d'attendre leur achèvement.

Exemple :

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) {
            // Traitement des résultats sur le thread principal
            println("Résultat 1 : $result1")
            println("Résultat 2 : $result2")
        }
    }
}

suspend fun loadFromSource1(): String {
    // Simulation du chargement de données
    delay(1000)
    return "Données de la source 1"
}

suspend fun loadFromSource2(): String {
    // Simulation du chargement de données
    delay(1500)
    return "Données de la source 2"
}

Dans cet exemple, deux fonctions de chargement sont lancées en parallèle, puis les résultats sont traités après leur achèvement.