Asynchrone Mot-clé lorsqu'il est utilisé à partir de la définition d'une fonction, la fonction renvoie un Promesse, alors que attendre La fonction fait que la fonction asynchrone attend qu'une promesse soit retournée à l'intérieur. Pour comprendre l'utilisation des fonctions asynchrones et attendre, vous devez avoir une compréhension approfondie du fonctionnement des promesses en JavaScript.
Async and Await est un concept JavaScript de niveau avancé, c'est pourquoi nous allons l'apprendre à travers divers exemples et le comprendre en passant par l'exemple ligne par ligne.
Exécution séquentielle en javascript
JavaScript est une exécution séquentiellement ou nous pouvons dire un langage de script à thread unique. Le code est invoqué ligne par ligne de manière procédurale.
Considérez les lignes de code tapées ci-dessous:
fonction bonjour ()Observez la sortie sur la console comme:
Comme vous pouvez le voir, les fonctions ou les lignes invoquées en premier ont toujours été terminées en premier. La raison de vous montrer un exemple simple comme celui-ci était de vous faire remarquer lorsque la séquence d'exécution changera avec Async attend et promet.
Asynchrone / attendre en action
Considérez une fonction simple qui renvoie du texte, comme:
fonction getUsers ()La sortie du code suivant est:
Comme nous pouvons voir la fonction renvoyée comme la chaîne qui dit, les utilisateurs. Essayons de mettre le mot-clé asynchrone avant la définition de la fonction comme:
fonction asynchrone getUsers ()Maintenant, sur votre console, vous verrez que cette fois-ci, la fonction a renvoyé une promesse qui avait le statut «rempli»:
Mais dans les cas où vous récupérez certaines données d'une API REST ou de toute API Web, cette promesse changera plusieurs états, de l'ensemble à la fin / rejetée. Dans de tels cas, nous attendons le retour du résultat de la promesse en utilisant le attendre mot-clé.
Pour cela, nous allons utiliser l'API Fetch et récupérer les informations sur les utilisateurs de «l'API.github / utilisateurs »avec les lignes de code suivantes:
fonction asynchrone getUsers ()Il y a beaucoup de choses à expliquer ici:
De cette façon, tout ce programme quittera l'exécution séquentielle normale et implémentera une exécution asynchrone du code en utilisant des promesses et asynchrone / attendre mots clés.
L'extrait de code complet est comme:
fonction asynchrone getUsers ()Note: La ligne "liste.alors ((utilisateur) => console.log (utilisateur));"Ne sera pas exécuté avant la fonction getusers traite toutes les promesses et renvoie la valeur, même ici, l'exécution séquentielle modifiera.
Maintenant, si vous exécutez ce programme en tant que script d'un fichier HTML, vous verrez la sortie suivante sur votre console:
Examinez la sortie de près et vous remarquerez le flux d'exécution comme:
C'est ainsi que vous modifiez l'exécution séquentielle et implémentez l'exécution asynchrone
Conclusion
Asynchrone et attendre Des mots clés sont utilisés pour implémenter l'exécution asynchrone du code JavaScript à l'aide de promesses. Asynchrone mot-clé lorsqu'il est utilisé avant la déclaration d'une fonction convertit qui fonctionne en un fonction asynchrone Et son type de retour se transforme en promesse. Alors que attendre est un mot-clé qui attend qu'une promesse soit reçue à l'intérieur d'un fonction asynchrone. Asynchrone / attendre Aidez-nous à écrire des promesses d'une manière beaucoup plus agréable et bien rangée qui est plus lisible et compréhensible.