Sobes.tech
Middle

Que outros métodos da API Promise conheces além do Promise.all?

sobes.tech IA

Resposta da IA

Para além de Promise.all, existem vários métodos úteis na API de Promises:

  • Promise.race(iterable) — devolve uma promessa que será resolvida ou rejeitada assim que a primeira das promessas passadas for resolvida ou rejeitada.

  • Promise.allSettled(iterable) — devolve uma promessa que será resolvida quando todas as promessas passadas terminarem (independentemente do resultado), e retornará um array de objetos com o estado de cada promessa.

  • Promise.any(iterable) — devolve uma promessa que será resolvida com o resultado da primeira promessa bem-sucedida das passadas; se todas as promessas forem rejeitadas, ela será rejeitada com um AggregateError.

Exemplo de uso de Promise.race:

const p1 = new Promise(resolve => setTimeout(() => resolve('Primeiro'), 500));
const p2 = new Promise(resolve => setTimeout(() => resolve('Segundo'), 100));

Promise.race([p1, p2]).then(result => console.log(result)); // Vai mostrar 'Segundo'