アニメーションを表示するsetInterval
呼び出しループがあります。
ユーザー入力にclearInterval
応答すると、キューに1つ以上のループコールバックがある可能性があります。ステートメントの直後に関数呼び出しを置くと、関数呼び出しがclearInterval
最初に終了し(画面に何かを出力)、次にキューに入れられたループコールバックが実行され、印刷したいものが消去されます。
以下のコードを参照してください。
function loop() {
// print something to screen
}
var timer = setInterval(loop(), 30);
canvas.onkeypress = function (event) {
clearInterval(timer);
// print something else to screen
}
これを処理するための最良の方法は何ですか?// print something else to screen
?に遅延を置きます ループ内で新しい印刷を行いますか?
編集:答えてくれてありがとう。将来の参考のために、私の問題は、余分な印刷をトリガーしたイベントがループ内に埋め込まれていたため、これが実行されると、制御が未完了のループに戻され、ループが上書きされたということでした。乾杯。