Olá pessoal, estou com o seguinte problema no meu service eu tenho uma rotina de autenticação, ela vai no banco verifica se o usuario que esta tentando logar existes, e retorna as informações dele, colocando o valor retornado através da função setInfoUser().
verify:function(user){
$http.post("/user/auth",user).success(function(data){
//muda o status para true, significa que ele exite
Authentication.setStatus(true);
//data contem as informaçoes do usuario (nome,email,etc..)
Authentication.setInfoUser(data);
}).error(function(erro){
console.log(erro);
});
}
Quando eu chamo a função dentro do service, que mostra o valor da variavel onde esta os dados do usuario, as informações aparecem
// Authentication é o meu objeto, que contém as funções para setar os dados(setInfoUser) e para pegar(getInfoUser)
Authentication.getInfoUser();
Porem quando eu chamo meu servico dentro do meu controller, com a mesma função que esta no meu service (getInfoUser), o valor vem como undefined
angular.module('modulo_principal').controller('meuController',function($scope,Authentication){
$scope.logar = function(){
//Chama a função que verifica se o usuario existe e retorna as informações
Authentication.verify(user);
//Chama a função dentro do service que pega as informações da variavel user
console.log(Authentication.getUser());
}
});
Gostaria de saber, por que essa função dentro do meu service mostra o valor e quando eu chamo a mesma função pra retornar os valores(getInfoUser) da como undefined??
Estrutura total do service
angular.module("services",[]).factory("Authentication",function($http,$location){
var Authentication = {
status:false,
token:"",
user:"",
getInfoUser:function(){
return this.user;
},
setInfoUser:function(user){
return this.user = user;
},
setStatus:function(status){
this.status = status;
},
getStatus:function(){
return this.status;
},
verify:function(user){
$http.post("/user/auth",user).success(function(data){
Authentication.setStatus(true);
Authentication.setInfoUser(data);
Authentication.getInfoUser();
console.log( Authentication.getInfoUser(););
}).error(function(erro){
console.log(erro);
});
}
};
return Authentication;
})