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か所から呼び出しています。
何が問題なのですか?
編集:このコードは現在機能しています。