JavaScript asynchrone permet d'exécuter des tâches indépendamment du thread principal, garantissant ainsi que l'application reste réactive et efficace. Ceci est particulièrement important pour la gestion des opérations telles que les appels d'API, la lecture de fichiers ou les retards.
console.log("Start"); console.log("End"); // Output: // Start // End
console.log("Start"); setTimeout(() => { console.log("Async Task"); }, 2000); console.log("End"); // Output: // Start // End // Async Task
Un rappel est une fonction passée en argument à une autre fonction, exécutée après l'achèvement d'une tâche asynchrone.
Exemple :
function fetchData(callback) { setTimeout(() => { callback("Data fetched!"); }, 2000); } fetchData((data) => { console.log(data); // Output: Data fetched! });
Inconvénients :
Une promesse représente une valeur qui peut être disponible maintenant, dans le futur ou jamais.
États d'une promesse :
Créer une promesse :
const fetchData = new Promise((resolve, reject) => { setTimeout(() => { resolve("Data fetched!"); }, 2000); }); fetchData.then((data) => { console.log(data); // Output: Data fetched! });
Gestion des erreurs :
fetchData .then((data) => console.log(data)) .catch((error) => console.error(error));
async et wait fournissent une syntaxe plus lisible pour travailler avec les promesses.
Exemple :
async function fetchData() { const data = await new Promise((resolve) => { setTimeout(() => resolve("Data fetched!"), 2000); }); console.log(data); // Output: Data fetched! } fetchData();
Gestion des erreurs :
async function fetchData() { try { const data = await new Promise((resolve, reject) => { reject("Error fetching data!"); }); console.log(data); } catch (error) { console.error(error); // Output: Error fetching data! } } fetchData();
L'API fetch est un moyen moderne d'effectuer des requêtes HTTP.
async function getData() { const response = await fetch("https://jsonplaceholder.typicode.com/posts/1"); const data = await response.json(); console.log(data); } getData();
Comportement asynchrone dans la gestion des événements.
document.getElementById("button").addEventListener("click", () => { setTimeout(() => { console.log("Button clicked!"); }, 1000); });
Utilisation de setTimeout et setInterval pour les retards.
setTimeout(() => console.log("Timeout executed!"), 2000);
L'Event Loop est le mécanisme qui gère les opérations asynchrones en JavaScript. Les tâches sont mises en file d'attente et exécutées dans l'ordre suivant :
console.log("Start"); console.log("End"); // Output: // Start // End
Oublier de gérer les erreurs :
Bloquer le fil de discussion principal :
L'enfer de rappel :
Technique | Description |
---|---|
Callbacks | Functions executed after async tasks. |
Promises | Chained mechanism for async tasks. |
Async/Await | Cleaner syntax for handling promises. |
Comprendre et exploiter la programmation asynchrone en JavaScript est crucial pour créer des applications Web réactives et efficaces. En maîtrisant les rappels, les promesses et l'async/wait, les développeurs peuvent gérer efficacement les tâches asynchrones.
Bonjour, je m'appelle Abhay Singh Kathayat !
Je suis un développeur full-stack avec une expertise dans les technologies front-end et back-end. Je travaille avec une variété de langages et de frameworks de programmation pour créer des applications efficaces, évolutives et conviviales.
N'hésitez pas à me contacter à mon e-mail professionnel : kaashshorts28@gmail.com.
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!