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 |