タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

arguments.calleeに関するpocotan001のブックマーク (1)

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

    jQuery のソースから拾ってきたネタなんすが、arguments.callee と setTimeout を使ったリトライ処理が超便利なのでご紹介。 まず基形はこんな感じす。 (function() { // なんか処理 if (error) { setTimeout(arguments.callee, 20); } })(); 上のコードは error が真のとき20マイクロ秒後に無名関数の実行をリトライします。20マイクロ秒だとリトライ間隔が短いような気がするかもしれませんが、リトライ回数は1秒に50回ですので言うほどでもないです。 arguments.callee は関数内でのみ参照可能で、実行中の関数自身への参照を保持します。上の例では arguments.callee は無名関数への参照となります。setTimeout に arguments.callee を渡すその関数を

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