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 vs. Asynchrone :
console.log("Start"); let result = someFunction(); // This might take a while console.log("End");
Dans le code synchrone, le message "End" 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.
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!