at backyard

Color my life with the chaos of trouble.

【JavaScript】setIntervalで気軽にポーリング処理

意外と調べても出てこなかったのでメモがてら書いておく。
(検索力がないだけかも)

利用するシーンは限られるかもしれないが、気軽にポーリング処理を書きたいとき setInterval を使って以下のようなポーリング処理を書くことが可能。

const intervalId = setInterval(() => {
    console.log('polling...');
        ・
        ・
        ・
    if (stopPolling) {
        clearInterval(intervalId);
    }
}, 1000);

ここで定義した intervalId は関数内からでも参照できるので、このように setInterval 内で条件を満たしたらポーリングをやめるように処理が行える。

例えば以下のようなコードを実行してみると、10回だけ繰り返し処理が行われているのが分かる。

let count = 0;

const intervalId = setInterval(() => {
    console.log('polling...');

    count++;

    if (count === 10) {
        clearInterval(intervalId);
        console.log('finish');
    }
}, 500);

以上、JavaScript備忘録でした。