0
我有我的代碼問題,無法拿出爲什麼會發生這種情況或解決方案來解決它。我的問題是代碼末尾的updateProduct()函數調用在forEach語句之前被調用,甚至在10個頁面加載中開始一次。我不明白爲什麼這樣做。有誰知道什麼會導致這種情況,以及防止這種情況發生的解決方案是什麼?有時JS代碼運行之前它應該有時
我已經嘗試使用承諾,併成功約7/10頁加載。到目前爲止,這是成功的約9/10頁加載。真的很困惑它在運行之前是如何完成一個循環的。
$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);
}
});
});
感謝您的答覆。無論哪種方式工作。當使用angular.forEach時,它似乎突破了大約50%的時間,當我使用javascript forEach時,它似乎只能突破10%的時間。似乎做事的角度方式比那種無角度的方式更經常地被破壞。我想知道是否存在某種緩存錯誤。 – zadees