Comprendre le moment d'exécution du rappel du constructeur Promise
Lors de la construction d'un objet Promise, le code fourni dans la fonction de rappel n'est pas exécuté immédiatement mais plutôt de manière synchrone, selon la spécification Promise. Cela signifie que l'exécution du rappel se produit dès que la promesse est initialisée.
Considérez l'extrait de code suivant :
function doSomethingAsynchronous() { return new Promise((resolve) => { const result = doSomeWork(); setTimeout(() => { resolve(result); }, 100); }); }
Dans ce scénario, la fonction doSomeWork est invoquée de manière synchrone lors du construction de la Promesse. La fonction setTimeout est utilisée pour retarder l'exécution de la fonction de résolution à des fins de démonstration, mais elle n'affecte pas la nature synchrone de l'appel doSomeWork.
La spécification Promise exige que la fonction d'exécuteur (c'est-à-dire le rappel fourni) au constructeur) est invoqué immédiatement lorsque la promesse est créée. Cela garantit que le comportement synchrone de la fonction exécuteur est cohérent, permettant une gestion fiable des processus asynchrones et d'autres tâches pouvant dépendre de ses résultats.
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!