Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Porque Promisse.all ?

Na parte do código onde :

const arrStatus = await Promise.all( listaURLs.map(async (url) => { const response = await fetch(url); return response.status; }) ) Se já temos o método await chamado antes do fetch , porque ele não espera o retorno de cada requisição para atribuir em listaURLs , e qual é o significado de Promise.all ? Promisse.all é uma array de promessas ?

Não ficou claro pra min o sentido do uso. E não entendi se caso a promessa seja fulfilled ela retorna o valor da qual foi requisitado.

1 resposta
solução!

Olá, Fabricio! Tudo certo?

O módulo fetch é uma função para lidar com 1 recurso por vez e, como temos uma lista de recursos, o fetch não consegue resolver para retornar tudo simultaneamente, que foi como a instrutora decidiu tratar.

Para obtermos apenas 1 retorno, foi usado o Promise.all(), que de acordo com a documentação do MDN ele recebe um array de promessas retorna uma única Promise que resolve quando todas as promises no argumento iterável forem resolvidas (ou rejeita, se uma delas for rejeitada). Com isso, fornecemos uma lista de promessas e o Promise.all() retorna uma única Promise que será tratada pelo await que está no fetch.

Se tal Promise for fullfilled, o then() é chamado com um array de todas as respostas, na mesma ordem em que as promessas foram passadas para all().

Caso tenha ficado com alguma dúvida, não deixe de compartilhar!

Continue praticando e evoluindo na sua jornada.

Bons estudos e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!