Het wegwerken van synchrone XHR's

Let op! De XMLHttpRequest2-specificatie is onlangs gewijzigd om het verzenden van een synchroon verzoek te verbieden wanneer XMLHttpRequest.responseType is ingesteld. Het idee achter de verandering is om waar mogelijk verder gebruik van synchrone xhrs te helpen verminderen.

De volgende code genereert nu bijvoorbeeld een INVALID_ACCESS_ERR in ontwikkelaarskanaalbuilds van Chrome en FF:

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

Zie WebKit-bug , Mozilla-bug

Synchrone XHR's zijn om een ​​aantal redenen slecht, maar de blogpost van MSDN, " Waarom u XMLHttpRequest asynchroon zou moeten gebruiken ", geeft een goede uitleg van de problemen.

Dit is over het algemeen een grote verandering voor het internet, maar het heeft de potentie om een ​​aantal bestaande apps kapot te maken die afhankelijk waren van synchroon gedrag. Controleer uw XHR-code en update deze zo snel mogelijk om asynchrone verzoeken te gebruiken.