1
resposta

Promise all help

Meu código está aqui

async function buscaEndereco(cep) {//para fazer a promisse all consultar vários ceps colocamos como parâmetro cep
try{
var consultaCEP = await fetch(`https://viacep.com.br/ws/${cep}/json/`);//colocamos a crase e o cifrão com o cep 
var consultaCepConvertida = await consultaCEP.json();
if(consultaCepConvertida.erro){
    throw Error('CEP não existente!');
}
console.log(consultaCepConvertida);
return consultaCepConvertida; // ele vai retornar pra quem tiver chamando a função este valor 

} catch(erro){
    console.log(erro);
}
}

let ceps = ['01001000','01001001']; // array de ceps aleatórios
/*array de conjuntos de cep dai ele vai fazer várias buscas, E dentro do map faremos uma arrow 
function igual as que fizemos nos outros lugares.*/
let conjuntoceps = ceps.map(valores => buscaEndereco(valores));/*le vai pegar o endereço, buscaEndereco(), 
e dentro dos parênteses ele vai colocar esses valores que ele estava pegando. Então, aqui ele vai fazer um
novo array com o que retornar daquela função buscaEndereco, para cada um dos valores de dentro do CEP. 
Esses valores vão ser promessas, e precisamos resolver essas promessas. */
Promise.all(conjuntoceps).then(respostas => console.log(respostas));/*o promise.all. O promise.all(conjuntoCeps), 
ele vai resolver o array de promessas, e vamos pedir para imprimir com o then. then(respostas => console.log(respostas)). 
Porque eu quero imprimir o que ele vai ter resolvido. */

buscaEndereco();

porém não retorna o que a instrutora passou

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeo meu apresenta os seguintes erros Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Alguém pode me ajudar a solucionar o problema, pfv?

1 resposta

Olá, Alexandre! Tudo bem?

O erro ocorre por que, no fim do código, você está chamando a função buscaEndereco sem nenhum parametro. Assim, a requisição é feita para um endereço inexistente causando o erro que você está vendo. Só precisa remover a chamada da função.

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado