Olá meus amigos. Estou travado em um erro talvez muito estúpido. Eu faço uma Post Request (Http) e em seguida eu precisava exibir a string de resposta em um alertController, mas a resposta demora alguns milisegundos para chegar e só chega depois que o alertController foi exibido.
Existe alguma maneira de forçar o meu código a parar e esperar a chegada da resposta da minha chamada? Vi alguns comentários sobre Promises e Callbacks porém não entendi muito bem como implementá-los de maneira prática.
Se alguém puder ajudar, aqui está o meu código simplificado:
verifica(address, password){
this.getTreinadorPokemon(address);
//AQUI ELE DEVIA ESPERAR O RESULTADO DA FUNÇÃO
//getTreinadorPokemon ANTES DE CONTINUAR
let alert = this.alertCtrl.create({
title: 'Achei',
subTitle: 'Seu Pokemon é:' + this.dados,
buttons: ['Ok']
});
alert.present();
return;
}
}
getTreinadorPokemon(address){
let body = {
"email" : address
};
this.db.getDados('GetTreinadorPokemon',body).subscribe(
(data) => {
this.dados = data.pokemon;
},
(err) => {
console.log("Você não possui um Pokémon ainda :(");
}
);
}
Agradeço desde já! Um abraço a todos!