Promise.allSettled()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

O método Promise.allSettled() retorna uma promessa que é resolvida após todas as promessas dadas serem resolvidas ou rejeitadas, com um array de objetos que descrevem o resultado de cada promessa.

É tipicamente usado quando você tem múltiplas tarefas assíncronas que não são dependentes das conclusões umas das outras, ou quando você sempre quer ter o resultado de cada promessa.

Para comparação, a promessa retornada por Promise.all() pode ser mais apropriada para tarefas que dependem umas das outras, ou se você precisa que todas as tarefas sejam rejeitadas quando apenas uma é.

Experimente

Sintaxe

promise.allSettled(iterable);

Parâmetros

iterable

Um objeto iterável (en-US), como um Array, onde cada membro é uma Promise.

Valor retornado

Uma Promise pendente que vai ser preenchida assíncronamente quando todas as promessas na coleção fornecida forem completas, sendo aceitas ou rejeitadas. Quando isso acontecer, é retornado um array contendo um resultado para cada promessa passada como entrada.

Para cada objeto no array retornado, existe uma string status. Se o status for fulfilled, então o campo value estará presente. Se o status for rejected, então o campo reason estará presente. O valor (value) ou o motivo da falha (reason) refletem o valor com que cada promessa foi completada (ou rejeitada).

Especificações

Specification
ECMAScript Language Specification
# sec-promise.allsettled

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também