3
respostas

xhr.send();

Não entendi o porque o "escutador" é colocado antes de enviar a requisição. A resposta pode ser obtida antes do envio da requisição?

3 respostas

Sempre quando utilizamos eventos estamos utilizando programacao assincrona, em outras palavras apenas registramos e evento para escutar a resposta, a resposta por sua vez pode vir a qualquer momento apos o send. Se registrarmos o evento depois do send a resposta poderia ser obtida antes do registro do evento realmente acontecer.

Fiquei confuso com sua resposta! Tambem possuo a mesma duvida!

Vou tentar explicar de uma forma diferente, para que talvez você entenda.

Quando escrevemos xhr.addEventListener estamos dizendo ao xhr para quando ele receber o evento de, nesse caso, load é para ele executar determinada função(não quer dizer que a função será executada nesse momento). Fazendo isso depois do xhr.send() pode ser que a resposta seja recebida(o evento load tenha acontecido) e xhr ainda não tenha recebido qual evento esperar e como se comportar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software