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

146
Visualizações
Angular make an api call async and use the result

I'm trying to make an API call

ngOnInit(){
  this.function1()
}

function1(){
  this.userService.getUser()
  .then((data) => {
   this.user = data.user
   this.userM = data.userM
// here problem: If I make a console.log(this.userM) it result at the beginning empty
   if(this.userM.length > 0 ) {
       console.log("goInside")}
   else {
    console.log("doesn't enter")
     //it enters always there
   }
  }
}

in my service:

async getUser(): Promise<any>{
  let user: any = []
  let userM: any = []
  //.... operation to populate
  return {user, userM}
}

When I make an api call I would to use the this.userM array to make some operations. But it results always empty at the beginning, but it doens't enter anymore in if. How can I do?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Make use of rxjs, try using an Observable instead:

import { of } from 'rxjs';

getUsers(): Observable<any> {
  let user: any = []
  let userM: any = []
  //.... operation to populate

  return of({user, userM});
}

And then, within your component:

ngOnInit(){
  this.function1()
}

function1(){
  this.userService.getUser().subscribe((response) => {
    const { user, userM } = response;

    if (userM.length) console.log('There is data in it!')
    else console.log('No data found...');
  });
}

I suggest not using Promises in an Angular project unless necessary, you have at your disposal rxjs along with tons of useful operators for handling async calls/streams of data

about 4 years ago · Juan Pablo Isaza 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