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