Ambos os códigos têm o mesmo propósito, que é buscar informações do clima de uma localidade específica. No entanto, eles utilizam técnicas diferentes para alcançar esse mesmo objetivo.
fetch('https://ipapi.co/json/') é chamada para obter os dados de
localização do usuário.
.then é executado quando a resposta é recebida. Ele
converte a resposta para o formato JSON.
.then é chamado com os dados convertidos do passo
anterior. Ele usa a latitude e longitude dos dados para fazer outra requisição fetch e
obter a previsão do tempo local.
.then é executado quando a resposta da segunda
requisição fetch é recebida. Ele converte a resposta para o formato JSON.
.then é chamado com os dados convertidos do passo
anterior. Ele atualiza as informações de temperatura e velocidade do vento na página.
.catch é executado,
registrando o erro no console.
Em resumo, o primeiro código usa o método fetch() para fazer uma requisição HTTP para o servidor. Ele usa os dados de latitude e longitude buscados para fazer outra requisição HTTP para o servidor para obter informações de clima. Por fim, ele atualiza as informações de temperatura e velocidade do vento na página da web. Se houver um erro, ele é registrado no console.
async indica que a função contém operações assíncronas.
await é usada para pausar a execução da função até que uma
promessa seja resolvida ou rejeitada.
fetch é chamada para obter os dados de localização do usuário, e a
resposta é atribuída a response1.
!response1.ok), um erro é lançado.
response1.json() é usado para analisar o corpo da resposta como
JSON, e o resultado é atribuído a local.
fetch é feita para obter a previsão do tempo local, usando
a latitude e longitude de local.
response2, e o resultado é atribuído a clima.
clima.
try, o bloco catch é
executado. O erro é registrado no console, e um alerta é exibido ao usuário.