done()
で呼び出される他の 3 つの関数の前に、ステートメントの下のコードが実行されるのはなぜwhen()
ですか? それはすぐに行きます。when は関数をキューに入れるために使用され、done は when コードが完了したときに何かを実行するために使用されると思いました...
$(document).on('click', '.ajax', function() {
$.when(func1('<p>first</p>'), func2('<p>second</p>'), func3('<p>third</p>')).done(function() {
$('body').append('all done');
});
});
function func1(first) {
var t = setTimeout(function() {
$('body').append(first);
}, 800);
return "success";
}
function func2(second) {
var t = setTimeout(function() {
$('body').append(second);
}, 2700);
return "success";
}
function func3(third) {
var t = setTimeout(function() {
$('body').append(third);
}, 200);
return "success";
}