2012/08/07

[JavaScript] setTimeoutで配列の中身を1個ずつ処理していくやつ

何か間を置きながらループを処理したい時なんかに。
即時関数をsetTimeoutで間を置いて、arguments.calleeで実行中の関数をもっかい動かす。
配列は頭から1個ずつ取っていって、配列が空っぽになったら終わり

-- add [2102/9/13]
JavaScript 「再」入門」によると、arguments.calleeは非推奨になったらしい。
なんで、名前を付けて「名前付き無名関数」として使うみたい。
//名前をつけてる
(function loopFunc(arg){
   //なんか処理して
    
    //ここ
    setTimeout(function(){
  loopFunc(arg);
 }, 200);
})(val);


参考:arguments.calleeとsetTimeoutを使ってJavaScriptのリトライ処理を簡単に書く方法

0 件のコメント:

コメントを投稿