IT the Best

はてなブログのカスタマイズ情報を中心に、WEBデザインからJavaScriptまでWEB系の開発情報を発信します。便利ツールや暇つぶしのゲームなど開発物も公開します。

【JS】指定時間分処理を待つ sleep処理を実装する - ループ処理で待ち時間(wait)を発生させる

Photo by JJ Ying on Unsplash

Photo by JJ Ying on Unsplash

JavaScriptで、 loop処理(for文やwhile文)を実行させることで、他言語にあるsleep処理のような指定時間分処理を止める動作(wait)を実装します。

 

JavaScriptでsleep処理

1秒間のsleep処理(処理を止める)を実行させる。

var sleepTime=1000; // msecで記述
var now=Date.now(); // 開始時間
while(Date.now()-now<sleepTime); // 指定時間を超えるまで実行
 

 

1秒間のsleep処理

5秒間のsleep処理

 

 

Dateオブジェクトの拡張

Dateオブジェクトを使用するので、Dateオブジェクトのメソッドとして定義。
※拡張の書き方は間違えているか、あまりよくない書き方をしているかもしれません。

Date.sleep=function(msec){
let now=Date.now(); // 開始時間
while(Date.now()-now<msec); // 指定時間を超えるまで実行
}