1

私は.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 の集約状態を追跡する新しい「マスター」Deferred オブジェクトから Promise を返します。このメソッドは、すべての Deferred が解決されるとすぐにそのマスター Deferred を解決するか、Deferred の 1 つが拒否されるとすぐにマスター Deferred を拒否します。

ロード リクエストの 1 つが失敗したため、onDisplayLoadFailure を実行すべきではありませんか?

4

0 に答える 0