Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Problema no if.

Quando coloco um cep errado não entra no if(r.erro) código final da aula 3

4 respostas

Olá Jheimys, tudo bem?

Pelo que entendi, você está tendo problemas com o if que verifica se o CEP é válido ou não, correto?

Pelo código que você compartilhou, parece que você está utilizando a API ViaCEP para buscar informações de endereço a partir de um CEP. Quando você informa um CEP inválido, a API retorna um objeto com a propriedade erro preenchida com o valor true.

Para verificar se o CEP é válido ou não, o if que você escreveu está correto. No entanto, é possível que o objeto retornado pela API não esteja sendo interpretado corretamente pelo seu código.

Minha sugestão é que você adicione um console.log(r) logo após a linha const r = await fetch... para verificar o que está sendo retornado pela API. Dessa forma, você poderá entender melhor o que está acontecendo e corrigir o problema.

Espero ter ajudado e bons estudos!

Fala Renan tudo certo!

Fiz assim agora:

async function consultaEndereco( ){

    const consultaCEP = await fetch('https://viacep.com.br/ws/01001000/json/')

    const consultaCEPJson = await consultaCEP.json()

    console.log(consultaCEPJson)
}

consultaEndereco( )

com o endereço correto está funcionando, mais quando coloco no fecth o endereço errado ainda não conseguir fazer uma mesnagem de erro. obrigado pela ajuda.

solução!

Conseguir entender o que estava acontecendo.

se digitar o cep: 0100100 => falta um número então ele nem entra no if.

se digitar o cep: 01001999 => A quantidde de número de cep está correta porém, esse cep não exite aí entra no if e exibe a mensagem de erro.

Estava tentado fazer sozinho mais nas aulas seguintes que ela explica como fazer com try e catch fica mais fácil de enteder.

Ah sim! Boa. Que bom que conseguiu :)