По истечении 10 секунд скрипт должен выдать ошибку, если нет ответа от сервера. Если же ответ есть, таймер должен быть очищен. Но этого не происходит. Что тут не так?
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onreadystatechange = function(){
if(xhr.readyState != 4) return;
clearTimeout(timeout);
if(xhr.status != 404){
//какой-то код
} else {
console.log(xhr.readyState);
}
}
xhr.send();
var timeout = setTimeout(function(){
xhr.abort();
console.log("Сервер не отвечает.");
},10000);