setTimeout関数を使用してループを作成しましたが、2番目または3番目のステップの後で、一度に2回実行を開始するため、それ自体を呼び出すと問題が発生します。これは私の関数がどのように見えるかです:
var value = 70, 
    intervalID = null;
function interval() {
  intervalID = setTimeout(countDown, 1000);
}
function countDown() {
  value--;
  if(value > 0) {
    clearTimeout(intervalID);
    interval();
  } else {
    endInterval();
  }
}
function endInterval() {
  // do something
}
変数値をその69、68にコンソールすると、その後、1回の関数呼び出しで変数値が2回減少し始めます。私は関数countDown()をどこからでも呼び出していませんが、1か所から呼び出しています。
何が問題なのですか?
編集:このコードは現在機能しています。