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
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
Para contribuir com os dados de compatibilidae, por favor faça um pull request nesse repositório: https://github.com/mdn/browser-compat-data.