Comprendre le moment d'exécution des rappels du constructeur de promesse
En JavaScript, lors de la construction d'une promesse à l'aide de la nouvelle syntaxe Promise, la question se pose de savoir lorsque le corps du rappel fourni est exécuté. Cette question approfondit les subtilités de l'exécution de Promise.
Le corps du rappel du constructeur Promise est exécuté de manière synchrone, conformément à la spécification ECMAScript. Immédiatement après la création, la promesse invoque sa fonction d'exécuteur avec les fonctions de résolution et de rejet comme arguments.
Cette exécution synchrone implique que le code dans le rappel est exécuté immédiatement, avant même l'invocation de toute opération asynchrone, telle que comme le setTimeout utilisé dans votre exemple. Par conséquent, doSomeWork() est appelé instantanément après la construction de la promesse.
La nature asynchrone de setTimeout est indépendante du processus de construction de la promesse. Le rappel fourni à setTimeout sera programmé pour s'exécuter après le délai spécifié, quel que soit le timing de la promesse.
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!