Siri: Buffering von Events

Beitrag lesen

Hallo,

mein JS sieht vereinfacht wie folgt aus (das original ist etwas komplexer und in einem Closure (kann man das so sagen?)):

isRunning = false;
counter = 0;

function timeoutFunction() {  
  
  counter++;  
  if (counter < 3) {  
   isRunning = true;  
   window.setTimeout(timeoutFunction, 500);  
  } else {  
   window.clearTimeout(timeoutFunction);  
   isRunning = false;  
  }  
}  
  
function reset() {  
  counter = 0;  
  isRunning = false;  
}  
  
function start() {  
  reset();  
  timeoutFunction();  
}

Die Funktion start() wir über addEventListener an einem Element registriert. Jetzt wäre es notwendig die Events zu puffern. Mein Versuch:

function start() {  
  while (isRunning == true) {  
  }  
  reset();  
  timeoutFunction();  
}

ist kläglich gescheitert! Geht auch in die falsche Richtung. Ich möchte z.B. zwei Klicks puffern und dann timeoutFunction auch zweimal ausführen. Sie soll aber jeweils bis zum Ende (counter == 2) ausgeführt werden. Ein Ansatz würde mir schon weiterhelfen.

Grüße
Siri