나는 http 요청을하고 리턴 된 결과를 배열에 넣으려고한다.예제에서 여러 HTTP 요청 결과를 얻으려면 어떻게해야합니까?
나는
Ctrl 키
for (var i=0; i < numOfProduct.length; i++) {
productFactory.makeRequest(numOfProduct[i].id)
.then(function(data) {
console.log(i)
//always output 10 which is my numOfProduct.length
numOfProduct[i].push({detail: data});
//i got Cannot read property 'push' of undefined error
})
$scope.numOfProduct = numOfProduct;
}
productFactory
service.makeRequest = function(id) {
return $http.get('/api/product/get' + id);
}
return service;
내 목표는 개체로 numOfProduct 요소의 각각에 HTTP 요청 결과를 밀어하는 것입니다 같은 것을 가지고있다. 그러나, 내가 가진 HTTP 요청 코드로 그렇게 할 수 없습니다. 아무도 그것에 대해 나를 도울 수 있습니까? 정말 고마워!
1 당신이 아니라 i
의 값 i
에 대한 참조를 결합하고 공통의 콜백 문제 :
잘 모르겠지만 비동기의 ajax 호출로 인한 것 같습니다. 그런 다음 function $ scope.numOfProduct = numOfProduct를 할당하십시오. –