Ich habe ein Problem mit meinem Code und kann nicht herausfinden, warum dies geschieht oder eine Lösung, um es zu lösen. Mein Problem ist der Funktionsaufruf updateProduct() am Ende des Codes wird aufgerufen, BEVOR die forEach-Anweisung sogar eine von 10 geladenen Seiten beginnt. Ich kann nicht verstehen, warum es das tut. Weiß jemand, was dies verursachen würde und was wäre eine Lösung, um dies zu verhindern?Angular JS-Code ausgeführt wird, bevor es zu manchmal
Ich habe versucht, ein Versprechen und das war erfolgreich über 7/10 Seite lädt. Bisher ist dies bei etwa 9/10 Seitenaufladungen erfolgreich. Wirklich verwirrt, wie es eine Schleife vervollständigt, bevor es sogar läuft.
$http.get('file.json').success(function(data) {
$scope.products = data;
$scope.product_map = {};
var itemsProcessed = 0;
$scope.products.forEach(function(item) {
$scope.product_map[item.sku] = item;
itemsProcessed++;
if(itemsProcessed === $scope.products.length) {
$scope.seriesId = $scope.series_map[$scope.hashTag].seriesID;
updateProduct($scope.series_map[$scope.hashTag].products[0].sku, $scope.series_map[$scope.hashTag].products[0].image);
}
});
});
Vielen Dank für die Antwort. So oder so funktioniert es. Bei der Verwendung von angular.forEach scheint es etwa 50% der Zeit zu brechen, wenn ich das Javascript forEach verwende, scheint es nur etwa 10% der Zeit zu brechen. Scheint, dass die kantige Art, Dinge zu tun, öfter bricht als diese nicht-eckige Art. Ich frage mich, ob es einen Caching-Bug gibt. – zadees