JavaScript est un langage monothread, ce qui signifie qu'il ne peut faire qu'une seule chose à la fois. Cependant, les applications Web doivent souvent effectuer des tâches telles que récupérer des données sur un serveur, ce qui peut prendre un certain temps. Si JavaScript devait attendre la fin de chaque tâche avant de passer à autre chose, votre application Web serait lente et ne répondrait plus. C'est là qu'intervient le JavaScript asynchrone (asynchrone).
JavaScript asynchrone permet à votre code de démarrer une tâche, puis de passer à d'autres tâches en attendant que cette tâche soit terminée. Une fois la tâche terminée, votre code peut revenir et gérer le résultat. Cela permet à votre application de rester rapide et réactive.
Synchrone ou asynchrone :
console.log("Start"); let result = someFunction(); // This might take a while console.log("End");
Dans le code synchrone, le message "Fin" ne sera enregistré qu'une fois someFunction() terminé, ce qui peut ralentir les choses.
Asynchrone : les tâches peuvent démarrer et se terminer indépendamment, afin que votre code ne reste pas bloqué en attente. Par exemple:
console.log("Start"); setTimeout(() => { console.log("End"); }, 2000);
Ici, le message "Fin" sera enregistré après 2 secondes, mais en attendant, votre code peut continuer à faire autre chose.
Rappels :
function fetchData(callback) { setTimeout(() => { let data = "Some data"; callback(data); }, 2000); } fetchData((data) => { console.log(data); // This will log "Some data" after 2 seconds });
Promesses :
let promise = new Promise((resolve, reject) => { let success = true; if (success) { resolve("Task completed successfully!"); } else { reject("Task failed!"); } }); promise.then((message) => { console.log(message); }).catch((error) => { console.log(error); });
Async/Attendre :
async function fetchData() { try { let data = await someAsyncTask(); console.log(data); } catch (error) { console.error("Error:", error); } }
Comprendre JavaScript asynchrone est essentiel pour créer des applications Web réactives et efficaces, car il permet à votre code d'effectuer des tâches sans rester bloqué en attendant la fin d'opérations lentes.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3