Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

241
Visualizações
How to make async calls in angularJS using $promise?

I need to make several calls to an api, and concatenate the results. I am using angularJS

$scope.myFunction = function() {
  let res;
  for (//some condition) {
    let data = MyService.query();
    data.$promise.then(function(r){
      // here I receive the response from the api and I "concatenate" the result in a variable
      res += r.someValue;
    }
  }
  // here I need to do something with **res** when all the api calls are done
}

the problem is that the code outside of the for loop is executed before all the api calls return a result.

How can I make the code after the for loop to wait all the code inside the loop is executed, and the res variable is fully populated? Using async/await does not work as I am getting this error

"angular.js:12808 ReferenceError: regeneratorRuntime is not defined"

and at the moment I can't add packages to package.json.

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

You can use Promise.all something like

$scope.myFunction = function() {
  let res=[];
  for (//some condition) {
    let data = MyService.query();
   let respPromise= data.$promise.then(function(r){
      // return the response 
      return r.someValue;
    })
    res.push(respPromise);
  }
  Promise.all(res).then(data=>{
    console.log(data);//data should contains all the responses here
  })
}

Working stackblitz

about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda