#author("2022-05-19T12:01:58+09:00","default:ryuichi","ryuichi")
#author("2022-05-19T12:02:28+09:00","default:ryuichi","ryuichi")
* sleep [#g2ccab41]

** ビジーウェイト [#nafc4cb1]
 function sleep(time) {
   var d1 = new Date().getTime();
   var d2 = new Date().getTime();
   while (d2 < d1 + time) {
     d2 = new Date().getTime();
    }
    return;
 }
 alert("1");
 sleep(3000);
 alert("2");

** setTimeout() [#eb4acd41]

 function sleep(time, callback){
   setTimeout(callback, time);
 }
 alert("1");
 sleep(3000, function (){ alert("2"); } );

** jQuery [#d6c062fa]
  alert("1");
  $(this).delay(1000).queue(function() {
     alert("2");
    $(this).dequeue();
  });

** Promiseとasync/awaitを使ったSleep [#u7f04c1c]

 function sleep(time) {
   return new Promise((resolve) => { setTimeout(resolve, time) });
 }
 
 alert("1")
 sleep(3000).then(() => { alert("2") });

 もしくは
もしくは

 alert("1");
 await sleep(3000);
 alert("2");


- [[JavaScript/タイマー処理/Promiseとasync awaitを使ったsleep]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS