Maison >interface Web >js tutoriel >Javascript synchrone VS asynchrone

Javascript synchrone VS asynchrone

Susan Sarandon
Susan Sarandonoriginal
2024-12-09 15:42:12486parcourir

Aujourd'hui, j'écrirai sur le Javascript synchrone et asynchrone.
Tout d'abord, les définitions ;
Les tâches synchrones se déroulent dans l'ordre, c'est-à-dire que vous devez terminer le premier travail avant de passer au suivant. D'un autre côté, vous pouvez exécuter des tâches asynchrones dans n'importe quel ordre ou même simultanément.

Asynchrone est une architecture non bloquante, donc l'exécution d'une tâche ne dépend pas d'une autre. Les tâches peuvent s'exécuter simultanément.

Synchronous est une architecture bloquante, donc l'exécution de chaque opération dépend de la réalisation de celle qui la précède. Chaque tâche nécessite une réponse avant de passer à l'itération suivante.

Fondamentalement, Javascript est un langage de script synchrone, bloquant et monothread utilisé pour rendre les pages Web interactives.
Être monothread et bloquant signifie que javascript ne peut exécuter qu'une seule tâche à la fois, c'est-à-dire que le programme exécutera les tâches dans l'ordre et que chaque tâche doit être terminée avant le début de la tâche suivante.

Bien qu'il soit synchrone par nature, JavaScript bénéficie d'un processus asynchrone. Les fonctions JavaScript de longue durée peuvent empêcher l'interface utilisateur (UI) ou le serveur de répondre jusqu'à ce que la fonction soit renvoyée, ce qui entraîne une expérience utilisateur loin d'être exceptionnelle.
Cependant, il existe certains cas où les utilisateurs peuvent bénéficier d'un blocage de programmation, par exemple lors d'un paiement en ligne.

L'avantage de JavaScript est qu'il offre le meilleur des deux mondes : monothread et multi-thread, bloquant et non bloquant. Grâce à cette flexibilité, les programmeurs peuvent écrire du code dans un seul langage de programmation au lieu de deux : un pour les opérations synchrones et un autre pour les opérations asynchrones.

La programmation asynchrone améliore l'expérience utilisateur en réduisant le délai entre le moment où une fonction est appelée et le moment où la valeur de cette fonction est renvoyée. La programmation asynchrone se traduit par un flux plus rapide et plus fluide dans le monde réel.
Par exemple, les utilisateurs souhaitent que leurs applications s'exécutent rapidement, mais la récupération des données à partir d'une API prend du temps. Dans ces cas, la programmation asynchrone permet à l'écran de l'application de se charger plus rapidement, améliorant ainsi l'expérience utilisateur.

La programmation synchrone, en revanche, est avantageuse pour les développeurs. La programmation synchrone est beaucoup plus facile à coder. Il est bien pris en charge par tous les langages de programmation et, en tant que méthode de programmation par défaut, les développeurs n'ont pas à passer du temps à apprendre quelque chose de nouveau qui pourrait ouvrir la porte à des bugs.

COMMENT CHOISIR ENTRE LA PROGRAMMATION ASYNCHRONE ET SYNCHRONE
Lorsque vous décidez quelle approche adopter, considérez la programmation asynchrone adaptable et la programmation synchrone stricte.

La

Programmation asynchrone est le multitâche, passant d'une tâche à l'autre et alertant le système lorsque chaque tâche est terminée. La programmation synchrone fonctionne avec un esprit unique, cochant une tâche à la fois dans un ordre rigide.

La

Programmation asynchrone permet d'effectuer plus de choses simultanément et est généralement utilisée pour améliorer l'expérience utilisateur en fournissant un flux de chargement rapide et sans effort.
La programmation synchrone est mieux utilisée dans les systèmes réactifs. Bien qu'il soit plus simple à coder pour les développeurs et qu'il soit reconnu par tous les langages de programmation, la synchronisation nécessite beaucoup de ressources et peut ralentir les choses.

Ci-dessous, je vais donner quelques exemples pour mieux expliquer la programmation synchrone et asynchrone.
EXEMPLE DE PROGRAMMATION SYNCHRONE

Sychronous VS Asynchronous Javascript

La sortie du code ci-dessus est :
Nissan 2003 vrai
{ Nom : 'Nissan', Année : 2003, Bon : vrai }
Adedamola 33 faux
Un homme appelé Dieu 300 vrai

Dans l'extrait de code ci-dessus, tout ce que j'ai fait était de déclarer des objets et d'attribuer des valeurs aux clés.
vous remarquerez que le résultat donné est en ordre avec le code écrit ci-dessus. Cela implique que s'il y a une erreur avec le premier objet déclaré, le code restant ne s'exécutera pas car il est censé s'exécuter de manière synchrone.

EXEMPLE DE PROGRAMMATION ASYNCHRONE

Sychronous VS Asynchronous Javascript

La sortie du code est :
un
Trois
Quatre
Fichier ajouté avec succès
Un nouveau fichier a été créé
Deux

Il s'agit d'un exemple de programmation asynchrone car les tâches n'ont pas été exécutées dans l'ordre et une tâche n'a pas attendu la fin d'une autre avant de s'exécuter.
Idéalement, d’après le code écrit ci-dessus, un devrait venir avant deux et deux devrait venir avant trois et quatre. De plus, un nouveau fichier aurait dû être créé avant l'ajout, mais chaque tâche a été exécutée en fonction du temps qu'il lui a fallu pour s'exécuter.
Cela renforce donc encore l'affirmation selon laquelle la programmation asynchrone permet de faire plus de choses simultanément.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn