一部のアニメーション (私はゲームを行っています) に javascript の setIterval を使用するクリック イベントで実行される関数があるため、問題は、アニメーションがまだ表示されている間にユーザーがクリックした場合 (setInterval はまだ実行中)、setIntervalイベントスタックに積み上げられているか、それが私が見つけたものであるため、ゲームがクラッシュするか、2 倍の速さで実行されます (アニメーション)。私の質問は、イベントのスタックを防ぐ方法はありますか? setInterval を前の setInterval などに積み上げたくありません。次のように clearInterval 関数を使用できることを知っています。
var timerInterval = setInterval(drawPlayerRunning, 50);
clearInterval(timerInterval);
しかし、関数がまだ実行されている間にユーザーが何度もクリックすると、clearIntervalはイベントスタックの最後のイベントのみを取り除き、以前のイベントはすべて「ゲーム」に残るため、私が望むようには実際には機能しません"。このイベントのスタックを防ぐ方法、または少なくともそれらを効率的に削除する方法はありますか?