JavaScriptでsleepする
追記(2013/11/12)
コメントでも指摘されているように、従来のsleep処理は、他の処理をブロックしてしまいます。
ブロックしたくない場合は、以下の引用のようにsetTimeoutを利用する方法があります。
function sleep(time, callback){
http://yanor.net/wiki/?JavaScript%2F%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC%E5%87%A6%E7%90%86%2Fsleep%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D
setTimeout(callback, time);
}
alert("1");
sleep(3000, function (){ alert("2"); } );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
従来のsleep処理
意外かもしれませんが、JavaScriptには、PerlやC言語ではお馴染みのsleep関数がありません。
なので、JavaScriptでは以下のように、現時間+sleep時間の間、ループさせてあたかもsleepをさせます。
function Sleep( T ){ var d1 = new Date().getTime(); var d2 = new Date().getTime(); while( d2 < d1+1000*T ){ //T秒待つ d2=new Date().getTime(); } return; } Sleep( 1 );//1秒待つhttp://chaichan.lolipop.jp/qa3500/qa3644.htm#r3