Polling with execution limit
by Krzysztof Safjanowski
HTML
<div id="polling"></div>
JavaScript
function resultShow(id) {
var container = document.getElementById(id);
this.attachResult = function attachResult(text) {
container.appendChild(document.createTextNode(text));
};
}
function pollingAjax(result) {
var ajaxCounter = 0;
ajaxMock();
return function () {
ajaxMock();
};
function ajaxMock() {
result.attachResult('.');
ajaxCounter++;
if (ajaxCounter >= 3) {
clearInterval(pollingAjax.interval);
result.attachResult(' complete');
}
}
}
var polling = new pollingAjax(new resultShow('polling'));
pollingAjax.interval = setInterval(polling, 2000);