どこに問題があるのか分かりません。私はここでいくつかの質問を読んだことがありますが、そのようなものは何もありません。 私は約束を返す関数を使用することはできません、私はちょうどすべての約束を1つの配列に入れ、 "$ .when"関数に渡す必要があります。すべての遅延がjQueryを使用して解決された後に関数を実行するにはどうすればよいですか?
var pr = [];
var count = 3;
while(count--){
setTimeout(function(){
var def = $.Deferred();
pr.push(def.promise());
console.log('COUNT: '+count); def.resolve(count);
}, Math.random()*2000);
}
$.when.apply($, pr).done(function(d){
console.log("LOG:",d);
});
明らかに、WHENはその時間までに空であるため、機能しません。 どのように並べ替えることができますか?
遅延を即座に作成する必要があります( '$ .when'に渡すことができます)。いくらかのt彼は未来! – Bergi