3.10. Bases de Dart : programmation asynchrone

Página 28

La programmation asynchrone est un concept fondamental dans Dart, en particulier lorsqu'il s'agit de créer des applications avec Flutter. Avant d'entrer dans les détails, comprenons ce qu'est la programmation asynchrone et pourquoi elle est si importante.

Les programmes s'exécutent normalement de manière synchrone, ce qui signifie que chaque instruction est exécutée l'une après l'autre. Cependant, certains processus peuvent prendre plus de temps, comme les requêtes réseau, la lecture de fichiers, etc. Pendant ce temps, le programme est obligé d'attendre, ce qui peut conduire à une mauvaise expérience utilisateur, notamment dans les applications mobiles où la fluidité et la réactivité sont cruciales.

La programmation asynchrone résout ce problème en permettant au programme de continuer à effectuer d'autres tâches en attendant la fin de la longue opération. Cela se fait via « Future » ​​et « async / wait », deux concepts clés de la programmation Dart asynchrone.

Futur

Dans Dart, un « Futur » représente une valeur ou une erreur potentielle qui sera disponible à un moment donné dans le futur. C'est similaire à « Promesse » en JavaScript. Lorsque vous démarrez une opération asynchrone, elle renvoie un « Futur ». Ce 'Futur' sera 'terminé' une fois l'opération terminée ou 'rejeté' si une erreur survient.

Pour gérer le résultat d'un 'Future', vous pouvez utiliser la méthode 'then()' pour spécifier ce qui doit être fait lorsque le 'Future' se termine avec succès, et la méthode 'catchError()' pour gérer les erreurs. De plus, vous pouvez enchaîner plusieurs appels 'then()' et 'catchError()', chacun renvoyant un nouveau 'Future'.

Async / Attendre

Bien que 'Future' et ses méthodes 'then()' et 'catchError()' soient puissantes, elles peuvent conduire à un code très imbriqué et difficile à lire. C'est là que « async » et « wait » entrent en jeu.

Le mot-clé 'async' est utilisé pour déclarer une fonction asynchrone. Dans une fonction « asynchrone », vous pouvez utiliser le mot-clé « wait » avant une expression pour suspendre l'exécution de la fonction jusqu'à ce que l'expression soit terminée. L'expression est généralement un appel à une fonction qui renvoie un « Futur ».

L'utilisation de « async » et « wait » permet d'obtenir un code plus propre et plus facile à comprendre, car il vous permet d'écrire du code asynchrone comme s'il était synchrone.

Exemple

Supposons que vous ayez une fonction 'fetchData()' qui renvoie un 'Future'. Voici comment utiliser "Future", "async" et "wait" pour gérer cela :

Futur<Chaîne> récupérer les données() { // Simule une opération réseau qui prend 2 secondes return Future.delayed(Duration(seconds: 2), () => 'Bonjour le monde !'); } void main() asynchrone { print('Récupération des données...'); Données de chaîne = attendre fetchData(); print('Date : $données'); }

Lorsque vous exécutez ce code, il affiche « Récupération des données... », attend 2 secondes, puis affiche « Données : Bonjour, Monde ! ». Pendant ces 2 secondes, le programme n'est pas bloqué, permettant l'exécution d'autres tâches.

En résumé, la programmation asynchrone est un concept crucial dans Dart qui permet d'écrire des applications réactives et fluides. En utilisant « Future » ​​et « async / wait », vous pouvez effectuer des opérations fastidieuses telles que des requêtes réseau sans bloquer le programme, offrant ainsi une meilleure expérience utilisateur.

Répondez maintenant à l’exercice sur le contenu :

Que permet la programmation asynchrone dans Dart et pourquoi est-ce important ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

293.11. Notions de base sur les fléchettes : bases sur Flutter

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte