Wie kann ich eine Funktion stoppen, während alle Async-Aufrufe durchgeführt wurden? Ich habe eine foreach auf einer Liste, die eine var Trog einen Asynchron-Aufruf erhöhen oder nicht (mit, wenn die Bedingung)AngularJs Async-Problem
Mein Code:
$scope.updateDureePeriodeList = function() {
var mttLoyer = 0
angular.forEach($scope.articleListDuree, function (value, key) {
if (value.selected) {
if (value.bOption) {
$scope.getTauxDevisRevOption(value.prixArt * value.qttArt).then(function (taux) {
mttLoyer += value.prixArt * value.qttArt * taux/100;
})
}
else
mttLoyer += value.prixArt * value.qttArt * $scope.DureeEdit.taux/100;
}
});
$scope.DureeEdit.periodeList = new Array();
$scope.DureeEdit.periodeList.push({
'numPeriode': 1,
'mttLoyer': parseFloat(mttLoyer).toFixed(2),
});
}
Problem: getTauxDevisRevOption ist async und wenn ich daran gehen, mein Funktion nicht, dass es die $scope.DureeEdit.periodeList.push
am Ende aufhören, so zu tun, bevor mttLoyer Zuwachs in der .then war() von dem Asynchron-Aufruf ...
Suche nach asynchronen Operationen in Javascript – Hitmands
Ich habe meine Suche getan und Antworten zu async mit Versprechungen (das, was ich tun, wenn ich getTauxDevisRevOption aufrufen), aber in diesem Fall bin ich in einer foreach, die mich blockiert und ich Antworten nicht gefunden, weil ich nicht den ganzen Code in der .then() tun kann, weil ich meine Schleife vor dem Anruf beenden muss, was ich am Ende der Funktion mache:/ – rob1