È possibile interrompere la connessione se una chiamata asincrona richiede molto tempo a ricevere una risposta (ad esempio, a causa di un problema di rete), utilizzando setTimeout().
var xhr = new XMLHttpRequest (); xhr.onreadystatechange = function () { if (this.readyState == 4) { // se si riceve una risposta si blocca il timeout clearTimeout(timeout); // fai qualcosa coi dati della response . . . } } // Impostazione Timeout var timeout = setTimeout( function () { xhr.abort(); // invocazione funzione di callback che interrompe la chiamata xhr }, 60*1000); // timeout dopo un minuto xhr.open('GET', url, true); xhr.send();