Rappels JavaScript : asynchrones ou pas ?
Les rappels JavaScript ne sont pas universellement asynchrones. Dans certains scénarios, comme l'exemple que vous avez fourni avec les fonctions addOne et simpleMap, le code fonctionne de manière synchrone.
JavaScript asynchrone dans le navigateur
Fonctions AJAX basées sur le rappel dans jQuery sont souvent asynchrones car ils impliquent des requêtes XHR (XMLHttpRequest). Par défaut, les requêtes XHR dans les navigateurs sont asynchrones, ce qui permet l'exécution continue du script pendant le traitement de la requête.
JavaScript asynchrone dans Node.js
Dans Node.js, le comportement asynchrone résulte généralement d'opérations d'entrée/sortie (E/S), telles que les E/S de fichiers, process.nextTick, setTimeout et setInterval. Les appels de base de données basés sur le rappel avec MongoDB/Mongoose sont asynchrones en raison des opérations d'E/S sous-jacentes impliquées dans l'interaction avec la base de données.
Situations asynchrones prédéterminées
L'asynchronicité est souvent ancrées dans l’environnement. Dans le navigateur, les fonctions de rappel associées aux requêtes XHR sont intrinsèquement asynchrones. Dans Node.js, les rappels liés aux opérations d'E/S sont également asynchrones.
Fonctions asynchrones personnalisées
Sans vous fier uniquement à des fonctions environnementales spécifiques, vous pouvez obtenir un comportement asynchrone en tirant parti des promesses d'ES6. Les promesses fournissent un mécanisme au niveau du langage pour définir les opérations asynchrones. Les fonctions de rappel attachées aux promesses (via then et catch) sont toujours exécutées de manière asynchrone, garantissant que le code suivant la promesse ne bloque pas.
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!