Cómo deshacerse de XHR síncronas

¡Atención! Recientemente, se cambió la especificación de XMLHttpRequest2 para prohibir el envío de una solicitud síncrona cuando se configura XMLHttpRequest.responseType. La idea detrás del cambio es ayudar a mitigar más el uso de xhrs síncronas siempre que sea posible.

Por ejemplo, el siguiente código ahora arrojará una INVALID_ACCESS_ERR en las compilaciones del canal para desarrolladores de Chrome y FF:

var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('GET', '/', false); // sync request
xhr.send();

Consulta Error de WebKit y Error de Mozilla.

Las XHR síncronas son deficientes por varias razones, pero la entrada de blog de MSDN, "Por qué deberías usar XMLHttpRequest de manera asíncrona", explica muy bien los problemas.

En general, este es un gran cambio para la Web, pero tiene el potencial de dañar algunas apps existentes que dependían del comportamiento síncrono. Revisa tu código XHR y actualízalo lo antes posible para usar solicitudes asíncronas.