それぞれ独自のパラメーター (クロージャー内で提供) を持つ 1 つまたは多数の関数の JS 配列を作成し、それらのすべての関数を呼び出し、すべてが呼び出されたときのコールバックを作成したいと考えています。
この質問に対する回答に基づいて、必要なパラメーターを使用して 1 つの関数を作成できます。
var f = (function(value) {
return function(){myFunction(value);};
}(k));
これらの関数をいくつか用意し、それらすべてを呼び出し、すべてが呼び出された後にコールバックを提供したいと考えています。
これを実行しようとする JSFiddleを次に示しますが、希望どおりに動作しません (3 つの関数を呼び出すことはありません)。
この JSFiddleは、jQuery.Deferred オブジェクトを使用しています (3 つの関数を呼び出すのが早すぎます)。
consle.log() の出力が期待される方法は次のとおりです。
do something first
f1 done variable one
f2 done variable two
f3 done variable three
all functions have completed
callback has been called
私は何が欠けていますか?この問題を解決するにはどうすればよいですか?
EDIT:呼び出される関数の数は不明です(アプリケーション全体から任意に設定されます)。そのため、それらを配列にプッシュしています。