La nature asynchrone de JavaScript est essentielle pour créer des applications conviviales, réactives et efficaces. Comprendre les idées fondamentales de la programmation asynchrone, telles que les rappels, les promesses et l'asynchrone/l'attente, est crucial pour une navigation réussie. Ce manuel décortiquera ces idées et examinera leurs applications, avantages et inconvénients.
Programmation Synchrone :
Exemple de code synchrone :
function task1() { console.log("Task 1 started"); for (let i = 0; i < 1e9; i++); // Simulating a long task console.log("Task 1 completed"); } function task2() { console.log("Task 2 started"); for (let i = 0; i < 1e9; i++); // Simulating a long task console.log("Task 2 completed"); } task1(); // Executes first task2(); // Executes after task1 is completed
Programmation asynchrone :
Définition : Un rappel est une fonction passée en argument à une autre fonction, exécutée après l'achèvement d'une tâche.
Exemple :
function fetchData(callback) { console.log("Fetching data..."); setTimeout(() => { const data = "Data received"; // Simulate fetched data callback(data); // Execute the callback with the data }, 2000); } fetchData((data) => { console.log(data); // Logs after data is fetched });
Explication :
Problèmes de rappels :
Définition : Une promesse est un objet représentant l'achèvement (ou l'échec) éventuel d'une opération asynchrone et sa valeur résultante.
Avantages :
Exemple :
function fetchData() { return new Promise((resolve, reject) => { console.log("Fetching data..."); setTimeout(() => { const data = "Data received"; resolve(data); // Resolve the promise with data }, 2000); }); } fetchData() .then(data => { console.log(data); // Logs after promise is resolved }) .catch(error => { console.error(error); // Handles errors });
Explication :
Définition : Async/await est un sucre syntaxique construit sur des promesses, vous permettant d'écrire du code asynchrone qui ressemble et se comporte davantage comme du code synchrone.
Avantages :
Exemple :
function task1() { console.log("Task 1 started"); for (let i = 0; i < 1e9; i++); // Simulating a long task console.log("Task 1 completed"); } function task2() { console.log("Task 2 started"); for (let i = 0; i < 1e9; i++); // Simulating a long task console.log("Task 2 completed"); } task1(); // Executes first task2(); // Executes after task1 is completed
Explication :
Synchrone vs. Asynchrone :
Rappels :
Promesses :
Async/Attendre :
Vous pouvez développer des applications JavaScript efficaces et faciles à utiliser en comprenant et en utilisant ces stratégies. L'apprentissage de la programmation asynchrone est essentiel pour devenir un développeur JavaScript qualifié, que vous gériez des tâches simples ou créiez des flux de travail complexes.
Suivez-moi sur : Github Linkedin Threads
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!