let xhr = new XMLHttpRequest();
// Отсчёт тайм-аута вынести из обработчика
let xhrTimeout = setTimeout(function() {
xhr.abort()
alert('Истек тайм-аут ожидания ответа сервера.');
}, 5000);
xhr.onreadystatechange = function() {
// выключить тайм-аут
clearTimeout(xhrTimeout);
// При неуспешном ответе - завершаем процесс запроса.
if (xhr.readyState != 4) {
return;
}
if (xhr.status === 200) {
_функционал при успешном ответе сервера_
return;
} else {
_функционал при неуспешном ответе сервера_
return;
}
}
....
fs.readFile(path[, options], callback)
fs.readFileSync(path[, options])
fetch
заканчивается ошибкой.catch
postData(answersObj)
.then((res) => res.json())
.then((res) => {
if (res.result === "success") {
window.location = "/thanks.html";
form.reset();
} else {
alert(res.status);
}
})
.catch(err=>alert(err.message)); // ошибка отправки формы