Comparação
Os dois scripts realizam uma requisição para buscar o endereço correspondente a um determinado CEP,
preenchendo os campos do formulário com os dados retornados. O primeiro script utiliza a API
XMLHttpRequest para fazer a requisição, enquanto o segundo script utiliza a função fetch.
Existem algumas diferenças notáveis entre ambos códigos JavaScript:
- Sintaxe:
-
O primeiro script utiliza a API XMLHttpRequest, que requer a criação de um objeto
XMLHttpRequest, a definição de callbacks para tratar os eventos de resposta e o envio da
requisição manualmente. O segundo script utiliza a função fetch, que retorna uma Promise
e permite encadear métodos para tratar a resposta.
- Tratamento de erros:
-
O primeiro script verifica se houve algum erro na resposta através do status da
requisição e da validade da resposta convertida em objeto JSON. Caso haja algum erro,
ele exibe mensagens de erro no console. O segundo script utiliza os métodos catch() para
tratar erros na comunicação com o servidor ou no processamento da requisição no PHP.
- Manipulação dos dados da resposta:
-
Ambos os scripts utilizam os dados retornados para preencher os campos do formulário,
mas a forma de acesso aos dados é diferente. No primeiro script, os dados estão
disponíveis diretamente na propriedade response do objeto XMLHttpRequest. No segundo
script, é necessário chamar o método json() da resposta para converter os dados em um
objeto JavaScript, que é passado para o próximo then().
- Legibilidade:
-
O segundo script utilizando fetch e encadeamento de métodos é considerado mais conciso e
legível do que o primeiro script que utiliza XMLHttpRequest e callbacks.
Em termos de funcionalidade, ambos os scripts realizam a mesma tarefa de buscar o endereço
correspondente a um CEP e preencher os campos do formulário. A escolha entre os dois scripts pode
depender das preferências pessoais do desenvolvedor, das necessidades do projeto e do suporte das
versões de navegadores-alvo. A API fetch é mais recente e mais moderna, e é amplamente suportada
pelos navegadores modernos, enquanto a API XMLHttpRequest é mais antiga e possui suporte em
navegadores mais antigos.