내 코드에 문제가있어 문제가 발생하는 이유나 해결 방법을 찾을 수 없습니다. 내 문제는 코드 끝의 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 %를 망가 뜨리는 것처럼 보입니다. 자바 스크립트를 사용할 때마다 약 10 %의 시간 만 깨는 것 같습니다. 어떤 일을하는 모난 방법이 그 모호하지 않은 방법보다 더 자주 끊어지는 것 같습니다. 나는 어떤 종류의 캐싱 버그가 있는지 궁금해. – zadees