2012-01-15 11 views
5

ランダム関数のコールバック関数を作成するよりも良い方法はありますか?私はそれを利用する際コールバック関数を作成する最良の方法

var showObj = function(obj,callback) { 
    return setTimeout(function() { 
     if(opts.centerObj == true) { 
      var cssProps = getProps(obj); 
      obj.css(cssProps).fadeIn('slow'); 
     } 
      else { 
       obj.fadeIn('slow'); 
      } 
     if(typeof callback == 'function') { 
      callback.call(this); 
     } 
    }, 1500); 
} 

コールバック関数は、任意のパラメータを持っていない、私はこれだけのようです:

showObj(obj,function(){ 

/* Some Callback Function */ 

}); 
+0

あなたの質問は、匿名関数を 'showObj'や何に渡すよりも良い方法があるかどうかです。 –

+0

現在の実装で何が問題になっていますか? – TJHeuvel

+0

@Felix Kling、いいえ、私の構文が正しければ、関数は正常に動作しています(コールバック関数)、私はそれを呼び出す場合、またいくつかのランダム関数にコールバック関数を追加/定義する別の方法があります。 – Roland

答えて

3

私が起動するためには、特に「悪い」または「間違った」方法がないと思います任意の(コールバック)メソッド。あなたはそこでうまくやっているだけでなく、機能をチェックしています。

私の唯一の提案はそこにあり、.call()で関数を呼び出さないことです。現在のコンテキストを渡す必要がある場合を除き、callback();を呼び出してください。つまり、.call().apply()の呼び出しは最大30%遅くなるためです。

2

これは私が見た最も完全なコールバック関数の1つです。答えはいいえ、これは最高のものの1つです。

関連する問題