Sobes.tech
Junior — Middle

Expliquez le mécanisme d'interaction des éléments clés async et await dans le traitement des coroutines.

sobes.tech IA

Réponse de l'IA

En Kotlin, les coroutines utilisent les mots-clés async et await pour la programmation asynchrone.

  • async lance une nouvelle coroutine et retourne un Deferred — un résultat différé.
  • await est appelé sur un Deferred et suspend l'exécution de la coroutine en cours jusqu'à l'obtention du résultat, sans bloquer le thread.

Exemple :

val deferred = async {
    // Opération longue
    fetchData()
}

val result = deferred.await() // Attendre le résultat de manière asynchrone

Ainsi, async permet de lancer des tâches en parallèle, et await d'obtenir leur résultat, en conservant l'asynchronie et sans bloquer le thread principal.