0

$.when次のように、jqueryセレクターまたはアクションを遅延として使用できるかどうか疑問に思っています。

$.when(newTemplate.appendTo("#container")).done(function(){
    var rand = Math.floor((Math.random()*1000)+1);
    console.log(rand);
});

appendTo非同期ではないかもしれませんが、次のように読み取ります

これは が終了するのを待つつもりappendToですか?

そうでない場合、この場合は から遅延オブジェクトを返すにはどうすればよいので、appendToそれがいつなのかがわかりreadyますか?

4

1 に答える 1

2

同期コードは常に次の行の前に完了するので、

newTemplate.appendTo("#container");
var rand = Math.floor((Math.random()*1000)+1);
console.log(rand);

渡すものは、 Promiseインターフェイスを実装し、非同期アクティビティをカプセル化$.whenするオブジェクトである必要があります。アクティビティが同期している場合でも、もちろんそれを実行できますが、コードが非常に複雑になり、まったくメリットがありません。

于 2013-03-14T22:24:56.513 に答える