Maison >interface Web >js tutoriel >Promise.all préserve-t-il l'ordre des valeurs résolues ?

Promise.all préserve-t-il l'ordre des valeurs résolues ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-04 12:15:02319parcourir

Does Promise.all Preserve the Order of Resolved Values?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn