Promise.allSettled()

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 é. 

Sintaxe

promise.allSettled(iterable);

Parâmetros

iterable
Um objeto iterável, 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 Status Comment
Promise.allSettled() (TC39 Stage 4 Draft) Padrão em tempo real

Compatibilidade de navegadores

BCD tables only load in the browser

Veja também