Entweder mit Timeout, in dem du bei jeder Aktion den alten Timeout unterbrichst und einen neuen startest
wie könnte ich das machen, meine 2 Funktionen schauen so aus:
function requestToServer() {
if(trigger == true) {
if(request == null)
createRequest();
var url = 'ServletController';
request.open("post", url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.onreadystatechange = responseFromServer;
startrequest = new Date().getTime();
timeout = window.setTimeout("dedectResponse();", 5000);
// in der Funktion dedectResponse steht noch nichts drinnen
request.send('clientID=' + clientID);
}
}
function responseFromServer() {
if(request.readyState == 4) {
if(request.status == 200) {
getresponse = new Date().getTime();
var response = request.responseText;
var zahlContainer = document.getElementById('zahl');
var textElement = document.createTextNode(response);
if(zahlContainer.firstChild != null)
zahlContainer.replaceChild(textElement, zahlContainer.firstChild);
else
zahlContainer.appendChild(textElement, zahlContainer.firstChild);
requestToServer();
}
}
}