Junior — Middle
Pouvez-vous expliquer le concept de programmation asynchrone et en quoi il diffère de l'approche synchrone?
sobes.tech IA
Réponse de l'IA
La programmation asynchrone permet d'effectuer des opérations qui prennent du temps (par exemple, le chargement de données depuis le réseau) sans bloquer le fil d'exécution principal du programme. Cela signifie que l'application peut continuer à fonctionner et à répondre aux actions de l'utilisateur pendant qu'une tâche longue s'exécute.
Dans l'approche synchrone, l'exécution du code se fait de manière séquentielle : le programme attend la fin d'une opération avant de passer à la suivante, ce qui peut entraîner des blocages de l'interface.
En Flutter, pour la programmation asynchrone, on utilise les mots-clés async et await :
Future<String> fetchData() async {
// simulation de retard
await Future.delayed(Duration(seconds: 2));
return 'Données chargées';
}
void main() async {
print('Début du chargement');
String data = await fetchData();
print(data);
}
Ici, fetchData s'exécute de manière asynchrone, sans bloquer le fil principal.