1

ajax が完了すると、 done,error,always deferred メソッドを使用できます。しかし、 jqXHRオブジェクトは Deferred オブジェクトから派生しているため、これを行うことができます。

しかし、この単純な例でこの動作を模倣するにはどうすればよいですか:

という名前の変数がありますt

tその値を取得するときにdone関数が呼び出されるようにします。

このようなもの: (疑似)

var t;
setTimeout(function (){t=100;},3000);
t.done(function (){alert('');}); //im expecting this alert after 3 seconds.

これどうやってするの ?

psコールバック関数でアラートを呼び出すことができることはわかっています(明らかに)。しかしまた。遅延動作を適用したい

4

1 に答える 1

1

割り当てた変数だけを使用することはできません。代わりに、jQuery.Deferredオブジェクトを手動で作成します.resolve()

var t = new $.Deferred();
setTimeout(function() {
    t.resolve(100);
}, 3000);
t.done(function(val) {
    alert(val);
}); // this will alert "100" after 3 seconds
于 2013-04-14T13:33:35.617 に答える