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?
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?
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.