【发布时间】:2013-01-31 21:15:01
【问题描述】:
这个问题真的很难解决,我知道 $.when() 可以像这样使用(带有多个 AJAX 语句)来向您保证它们都完成了。
$.when(
$.ajax({ url: '/echo/html/', success: function(data) {
alert('request 1 complete')
}
}),
$.ajax({ url: '/echo/html/', success: function(data) {
alert('request 2 complete')
}
})
).then( function () { alert('all complete'); });
但这仅适用于原始$.ajax(),是否有同样的功能带有函数调用,而其中又包含 ajax(和其他随机逻辑)?
伪代码思路:
// The functions having the AJAX inside them of course
$.when(ajaxFunctionOne, ajaxFunctionTwo).then(function () {
alert('all complete');
});
【问题讨论】:
-
您传递给
$.when()的是对$.ajax进行的函数调用的返回值;换句话说,你没有传递它的功能。在调用$.when()时,ajax 操作已经开始。
标签: javascript ajax jquery jquery-deferred