0
私は、コールサービスの角度コントローラのメソッドを持っています。このメソッドはサービス応答に基づいて動作する必要があります。angularjsコントローラ内のシーケンシャル実行
しかし、私はなぜ適切な時間にメソッド呼び出しを知らない。
$scope.UpdateSelected = function() {
$rootScope.showConfirmModal().result.then(function() {
var selectedItems = _.filter($scope.Options, { Selected: true });
var error = 0
for (var i = 0 ; i < selectedItems.length; i++) {
InvalidOptionsFactory.UpdateOptions(selectedItems[i].Id).then(function (res) {
if (res.data.error) {
error++;
}
});
}
if (error == 0) {
toastr.success($rootScope.GetString('GENERIC_SAVE_SUCCSS_MSG'));
}
else if (error == selectedItems.length) {
$rootScope.showMessageModal($rootScope.GetString('UPDATE_STATUS_FAILED'), 'sm');
}
else {
var message = hasError + $rootScope.GetString('UPDATE_STATUS_PARTIALLY_FAILED');
toastr.success(message);
}
fetchSearchedData();
});
};
私は今、なぜそれが直接、if文に進んだとInvalidOptionsFactory.UpdateOptions(selectedItems[i].Id)
メソッドが非同期であるため、それがサービス
特定して下さい。そして、if条件を責めないでください。コードを最初にデバッグしてください。 –
私は尋ねる前にコードをデバッグしていますが、それは連続して実行されません – user7157121
あなたのコードは有効ではなく、中かっこがいくつかありません – phuzi