Ordre des valeurs résolues dans Promise.all
La méthode Promise.all prend un itérable comme argument et renvoie une seule promesse qui résout à un tableau de valeurs une fois que toutes les promesses de l'itérable ont été résolues. La documentation suggère que l'ordre des valeurs dans le tableau résolu est préservé, mais existe-t-il une source faisant plus autorité ?
Préservation de l'ordre dans la spécification
La spécification ECMAScript pour Promise.all indique que :
Toutes les instances Promise dans promiseList sont résolues et leurs éléments respectifs dans la liste de résultats sont définis sur les valeurs correspondantes.
Cela suggère que le l'ordre des instances de promesse dans l'itérable d'entrée est conservé dans le tableau de sortie.
Implémentation interne
Pour résoudre une promesse, la méthode Promise.all() utilise le Promise.all().Résoudre l’opération interne. Cette opération attribue un emplacement [[Index]] interne à chaque instance de promesse, indiquant son index dans l'itérable d'entrée d'origine.
Conclusion
Basé sur la spécification et le implémentation interne de Promise.all(), nous pouvons affirmer avec certitude que l'ordre des valeurs résolues est préservé. Le tableau résolu suit strictement l'ordre des promesses dans l'itérable d'entrée.
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!