指定時間ごとに処理を実行する
setInterval関数の第一引数に指定時間経過ごとに実行したいコールバック関数を、第二引数に待機時間をミリ秒で指定します。
以下の例では関数callbackFuncを1000ミリ秒(1秒)ごとに実行しています。
コンソールに1秒ごとにcallbackFuncと表示されます。
setInterval(callbackFunc, 1000);
function callbackFunc() {
console.log("callbackFunc");
}
指定時間ごとに実行している処理をキャンセルする
setInterval関数で指定時間経過ごとに実行しているのをキャンセルすることもできます。
setInterval関数は処理を識別するためのIDを返却するため、それを受け取り、clearInterval関数の引数に渡すとその処理の実行をキャンセルすることができます。
以下の例では1秒ごとにcallbackFunc関数が実行されコンソールにcallbackFuncという文字列が出力されますが、同時にcounter変数をインクリメントし、counterが5以上になった段階で処理をキャンセルしています。
コンソールにはcallbackFuncという出力が5回された以降は何も出力されなくなります。
var intervalID = setInterval(callbackFunc, 1000);
var counter = 0;
function callbackFunc() {
console.log("callbackFunc");
counter++;
if(counter >= 5) {
clearInterval(intervalID);
}
}
リンク
WindowOrWorkerGlobalScope.setInterval() – Web API | MDN
https://developer.mozilla.org/ja/docs/Web/API/WindowOrWorkerGlobalScope/setInterval