#はじめに
Node.jsでループ処理の勉強のため、Node.jsのタイマーを使ってみたときのメモです。
setInterval()を利用して指定時間間隔ごとに無限に処理を実行し、条件に合致する場合にclearInterval()を利用して処理を停止する仕組みにしています。
#準備
date-utilsの導入
時刻の取得はこちらの記事を参考にさせていただき、date-utilsを利用しました。下記を実行してdate-utilsを導入します。
$ npm install date-utils
タイマー
簡単のため、時刻指定は直接入力する方法にしています。
setIntervalを使い1秒(1000ms)おきに現在時刻を表示し、指定時刻になるとclearIntervalにより処理が終了します。
timer.js
'use strict';
require('date-utils');
var intervalID = setInterval(() => {
var dt = new Date();
var formatted = dt.toFormat("HH24:MI:SS");
console.log("しばらくお待ち下さい、只今の時刻:",formatted);
if(formatted === '22:20:00' ) { //タイマーを止める時刻を指定する
console.log("時間になりました!");
setTimeout(()=>{
clearInterval(intervalID)
})
}
}, 1000);
#実行結果
実行結果
$ node timer.js
しばらくお待ち下さい、只今の時刻: 22:19:18
しばらくお待ち下さい、只今の時刻: 22:19:19
しばらくお待ち下さい、只今の時刻: 22:19:20
:
しばらくお待ち下さい、只今の時刻: 22:20:00
時間になりました!
以上です。