있는 경우에도, 난 그냥 측면에서 루프가 for loop
이AngularJS와 - 잘못 증가 루프 전용 배열의 한 항목 내 각 응용 프로그램에서
for (var i = 0; i < $scope.itemList.length; i++) {
if ($scope.itemList[i].serialNumber == quickCode) {
console.log(i)
returnsService.getNoReceiptErrorMessages($scope.itemList[i].sku, quickCode).then(function (response) {
console.log(i)
}
}
}
그것과 같은 코드의 조각을 백엔드 API를 호출하는 각도 서비스. 배열에는 하나의 항목 만 있습니다. 따라서 i
의 값은 항상 0
이 될 것으로 예상됩니다. 그러나 0
인쇄 서비스 호출 전에 console.log(i)
은 서비스 호출 후 1
을 인쇄합니다. 어떤 사람이 여기서 일어나는 일을 지적 할 수 있습니까?
및 범위 지정 . https://jsfiddle.net/8ncqeoeq/는 내가 루프 후에 1이 될 것임을 보여줍니다; 콜백은 실행되는 i의 상태를 참조하는 것으로 간주됩니다. 전달되는 i가 아닌 1입니다. 나는 이것을 시도하여 적절한 대답으로 공식화 할 것이다. – OliverRadini