Maison >interface Web >js tutoriel >JavaScript synchrone ou asynchrone simplifié
JavaScript est largement connu comme un langage monothread. Cela signifie qu'il ne peut exécuter qu'un seul morceau de code à la fois et dans un seul ordre. Cependant, la capacité de JavaScript à gérer efficacement les tâches asynchrones est l’une des raisons pour lesquelles il est puissant pour créer des applications interactives et réactives.
Dans cet article, nous explorerons les principales différences entre JavaScript synchrone et asynchrone avec des exemples pratiques.
Le code synchrone s'exécute ligne par ligne, une étape à la fois. Chaque opération attend la fin de la précédente avant de passer à la suivante.
console.log("Start"); // A time-consuming operation (like a loop) for (let i = 0; i < 9; i++) { // Simulating a delay } console.log("End");
Sortie :
Start End
Dans cet exemple, la boucle bloque l'exécution du code. S'il s'agissait d'une application réelle, l'interface utilisateur se bloquerait pendant la boucle car JavaScript est en train de la traiter.
Le code asynchrone permet à certaines tâches de s'exécuter en arrière-plan, permettant au programme de continuer à exécuter d'autres tâches sans attendre.
JavaScript y parvient en utilisant des mécanismes tels que :
console.log("Start"); setTimeout(() => { console.log("Timeout completed"); }, 2000); // 2-second delay console.log("End");
Sortie :
Start End Timeout completed
Ici, la fonction setTimeout s'exécute de manière asynchrone. Il planifie l'exécution de la fonction de rappel après 2 secondes mais ne bloque pas l'exécution du code entre-temps.
Feature | Synchronous | Asynchronous |
---|---|---|
Execution | Executes line by line | Tasks can run in the background |
Blocking | Blocks subsequent code | Non-blocking |
Examples | Loops, standard functions | Callbacks, Promises, Async/Await |
Les promesses facilitent la gestion des opérations asynchrones. Voici un exemple :
console.log("Start"); // A time-consuming operation (like a loop) for (let i = 0; i < 9; i++) { // Simulating a delay } console.log("End");
Sortie :
Start End
Les mots-clés async et wait simplifient le travail avec Promises :
console.log("Start"); setTimeout(() => { console.log("Timeout completed"); }, 2000); // 2-second delay console.log("End");
Sortie :
Start End Timeout completed
Comprendre la différence entre JavaScript synchrone et asynchrone est crucial pour créer des applications efficaces et non bloquantes. Utilisez des modèles asynchrones tels que Promises et Async/Await pour garantir une expérience utilisateur fluide.
Si vous avez des questions ou des exemples à partager, n'hésitez pas à laisser un commentaire ci-dessous !
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!