La méthode Promise.all est utilisée pour résoudre plusieurs promesses simultanément. Elle prend un tableau de promesses et renvoie une nouvelle promesse qui ne se résout que lorsque toutes les promesses du tableau d’entrée sont résolues.
Voici comment l’utiliser:
```
let promise1 = Promise.resolve(3);
let promise2 = 42;
let promise3 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, ‘foo’);
});
Promise.all([promise1, promise2, promise3]).then((values) => {
console.log(values);
});
```
Dans cet exemple, Promise.all attend que toutes les trois promesses soient résolues. Ensuite, il renvoie un tableau avec les valeurs résolues de toutes les promesses. L’ordre des valeurs est le même que celui des promesses dans le tableau d’entrée.
Notez que si l’une des promesses est rejetée, Promise.all est immédiatement rejeté avec la raison de la promesse rejetée, rejetant par conséquent l’ensemble des promesses.
```
let promise1 = Promise.resolve(3);
let promise2 = 42;
let promise3 = new Promise((resolve, reject) => {
setTimeout(reject, 100, ‘foo’);
});
Promise.all([promise1, promise2, promise3]).then((values) => {
console.log(values);
}).catch((error) => {
console.log(error);
});
```
Dans cet exemple, bien que promises 1 et 2 soient résolus, promise3 est rejeté, ce qui conduit à l’échec total de Promise.all, et ‘foo’ est enregistré dans la console.