2012-02-06 3 views
0

jQueryの遅延は私を一度も気に入ったことがなく、私は完全に理解できませんでした。多数の繰延がすべて行われたときに通知を受けたい。実際の問題は、遅延の数が毎回同じではないということです。だから私はこれを行うことはできません。 jquery deferredsの問題

$.when(d1, d2, d3).done() 

は私が $.when.apply(this, [d1, d2, d3])を試みたが、一つだけが完了したときには、すぐに起動します。

また、遅延配列を渡す方法が絶対に必要です。この配列は動的で、関数が実行されるたびに異なる数の遅延があります。

おそらく明白な解決策があることは知っていますが、私はそれに気づいていません。

答えて

1

the documentationを読んでください。 1つまたは複数の繰延オブジェクトを$.whenに渡すことができることは明らかです。

一方、(例の配列のように)遅延されていない引数を渡すと、引数が解決された据え置きであると仮定すると、done関数が一度に起動します。

+0

私は、私はそれらを渡すことができます知っているが、私はそれらを直接渡すことができるように、引数の前定められた数でそうしなければなりません。私の問題は、遅延は動的であり、決まった数の引数を決して持つことはないということです。私は、延期の配列を渡すために幾分必要があります。 – LordZardeck

+1

ああ、申し訳ありません、 '$ .when.apply($、[YOUR_DEFFERED_OBJECTS_HERE])' – ori

+0

私はapply($)の代わりにapply(this)を使っていました。ありがとう! – LordZardeck