1

$.Deferred オブジェクトの resolve および reject メソッドを使用したいと考えています。以下のリンクを参考にしました

http://net.tutsplus.com/tutorials/javascript-ajax/wrangle-async-tasks-with-jquery-promises/

function a()
{
var def=$.deferred();
for(i=0; i<object.length;i++)
{
if(i=="some condition") // callback function there so i reject until it completes.
def.reject();
else
def.resolve();
}

}

関数 a() が完全に実行された後 (つまり、コールバック関数を含む)、「a」関数はコールバックが完了するまで待機する必要があります。だから私は def.reject() を使用し、他のケースでは def.resolve() を使用します

しかし、最初に def.resolve() が呼び出され、次に def.reject() が呼び出されても意味はありません

function a() は、完了したすべてのコールバック関数が含まれるまで待機する必要があります。

$.when(a()).done(function(e)
{
b();
});

そして、b() 関数を呼び出す必要があります。a() 関数が完全に実行されたので、b() 関数を実行する必要があります。

遅延オブジェクトを使用してこれを行うにはどうすればよいですか?

4

1 に答える 1