私は.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!");
};
複数の Deferred オブジェクトが jQuery.when に渡される場合、このメソッドは、渡されたすべての Deferred の集約状態を追跡する新しい「マスター」Deferred オブジェクトから Promise を返します。このメソッドは、すべての Deferred が解決されるとすぐにそのマスター Deferred を解決するか、Deferred の 1 つが拒否されるとすぐにマスター Deferred を拒否します。
ロード リクエストの 1 つが失敗したため、onDisplayLoadFailure を実行すべきではありませんか?