2012/08/07

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

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

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


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

0 件のコメント:

コメントを投稿