source

Angular JS에서 모든 $http 요청이 완료될 때까지 기다립니다.

lovecheck 2023. 10. 24. 21:25
반응형

Angular JS에서 모든 $http 요청이 완료될 때까지 기다립니다.

나는 다른 숫자의 페이지를 만들 수 있는 것보다 더 많은 페이지를 가지고 있습니다.$http변수의 길이에 따라 요청하고, 모든 요청이 완료되어야만 스코프로 데이터를 보내고 싶습니다.이번 프로젝트는 jQuery를 사용하고 싶지 않으니 답변에 jQuery를 포함하지 말아주세요.지금은 각각의 요청이 완료되면 스코프로 데이터가 전송되는데, 제가 원하는 것은 아닙니다.

여기 제가 지금까지 가지고 있는 코드의 일부가 있습니다.

for (var a = 0; a < subs.length; a++) {
  $http.get(url).success(function (data) {
    for (var i = 0; i < data.children.length; i++) {
      rData[data.children.name] = data.children.age;
    }
  });
}

여기 제가 회의적인 부분이 있습니다. 왜냐하면 무언가는 논쟁이 되어야 하기 때문입니다.$q.all(), 하지만 Angular에 대한 문서에는 언급이 되어있지 않고 무엇을 의미하는지 잘 모르겠습니다.

$q.all().then(function () {
  $scope.rData = rData;
});

도와주셔서 감사합니다.

$httpcall은 항상 사용할 수 있는 약속을 반환합니다.$q.all기능.

var one = $http.get(...);
var two = $http.get(...);

$q.all([one, two]).then(...);

이 동작에 대한 자세한 내용은 문서에서 확인할 수 있습니다.

all(promises)

약속 - 약속의 배열 또는 해시입니다.

이 경우 배열을 생성하고 모든 호출을 루프에 밀어 넣어야 합니다.이렇게 하면 사용할 수 있습니다.$q.all(…)위의 예와 동일한 방법으로 배열합니다.

var arr = [];

for (var a = 0; a < subs.length; ++a) {
    arr.push($http.get(url));
}

$q.all(arr).then(function (ret) {
    // ret[0] contains the response of the first call
    // ret[1] contains the second response
    // etc.
});

언급URL : https://stackoverflow.com/questions/23931846/wait-for-all-http-requests-to-complete-in-angular-js

반응형