setTimeout заблокирован непрерывными запросами AJAX?
Я исправляю проблему в веб-приложении, которое использует setTimeout для информирования серверной части о том, что сеанс остается активным. Это работает, как и ожидалось, во всех сценариях, за исключением следующего:
SetTimeout не запускается, пока происходит синхронная передача сообщений AJAX.
Я понимаю, что может быть задержка для запуска setTimeout какJavaScript однопоточный и должен ждать одну задачу для завершения.
У меня вопрос: почему setTimeout вообще не запускается? Почему он запускается в конце всех запросов AJAX, а не между ними?
Это моя функция keepAlive
function keepAlive() {
var img = new Image(1, 1);
img.src = "google.com" + '?' + new Date();
timer = setTimeout(function () {
keepAlive();
}, 10000);
}
Я создал быстрый и грязныйдемонстрация моей проблемы в jsfiddle.
Заранее спасибо!