Sobes.tech
Middle

Quelle est la différence entre Promise.all et Promise.any?

sobes.tech IA

Réponse de l'IA

Promise.all attend que toutes les promesses dans un objet itérable soient résolues. Si toutes les promesses sont résolues avec succès, il retourne une promesse qui se résout avec un tableau de résultats dans le même ordre que les promesses d'entrée. Si au moins une promesse est rejetée, il retourne une promesse rejetée avec l'erreur de la première promesse rejetée.

Promise.any attend que n'importe laquelle des promesses dans un objet itérable soit résolue. Dès qu'une promesse est résolue avec succès, il retourne une promesse qui se résout avec la valeur de cette promesse. Si toutes les promesses sont rejetées, il retourne une promesse rejetée avec une AggregateError, contenant un tableau d'erreurs de toutes les promesses rejetées.

Comparaison:

Critère Promise.all Promise.any
Condition de succès Toutes les promesses sont résolues avec succès N'importe quelle promesse est résolue avec succès
Condition d'erreur Une promesse est rejetée Toutes les promesses sont rejetées
Résultat de succès Tableau de résultats (dans le même ordre que les promesses d'entrée) La valeur de la première promesse résolue
Résultat d'erreur Erreur de la première promesse rejetée AggregateError avec un tableau d'erreurs de toutes les promesses rejetées
Utilisation Dépendance de toutes les opérations asynchrones Dépendance de n'importe laquelle des opérations asynchrones