我试图说服.then()执行它的失败条件。
我有以下。请注意,taskID 已替换为 -1 以导致失败。
load: function (taskID) {
$.when(
$('#OrderDetails').load('../../csweb/Orders/OrderDetails'),
$('#TaskDetails').load('../../csweb/Orders/TaskDetails/?taskID=' + -1),
$('#DeviceDetails').load('../../csweb/Orders/DeviceDetails'),
$('#Provisioning').load('../../csweb/Orders/Provisioning'),
$('#Activity').load('../../csweb/Orders/Activity')
).then(onDisplayLoadSuccess, onDisplayLoadFailure);
}
var onDisplayLoadSuccess = function () {
console.log("onDisplayLoadSuccess!");
};
var onDisplayLoadFailure = function () {
console.log("onDisplayLoadFailure!");
};
来自.when() 的文档:
在将多个 Deferred 对象传递给 jQuery.when 的情况下,该方法从一个新的“主” Deferred 对象返回 Promise,该对象跟踪它已传递的所有 Deferred 的聚合状态。该方法将在所有 Deferred 解析后立即解析其 master Deferred,或者在其中一个 Deferred 被拒绝时拒绝主 Deferred。
由于我的一个加载请求失败了——那么不应该执行 onDisplayLoadFailure 吗?