0

this is my object that get from a service.

this is my controller.

var user = useroneService.getLoggedUser(user);
console.log(user);

enter image description here

console.log(user.data);

I got a undefined when I try to access the data. How do I access to the Object data?

user.service.js

'use strict';
angular.module('app').service('userService',['authService', 'userTransformer','LoggedUser', function(authService, userTransformer, LoggedUser) {
  this.getLoggedUser = function(user){
    return authService.login(user).then(function (response) {
      var loggedUser = userTransformer.transform(response.data);
    });
  };
}]);

logged.user.js

angular.module('app').value('LoggedUser', function () {  
    var LoggedUser = function () {
        this.dispalyName = '';
        this.token = '';
        this.logged = false;
    };  
    LoggedUser.prototype = {    
    };
});

user.transformer.js

angular.module('app').factory('userTransformer',['LoggedUser', function (LoggedUser) {
  //logged user transform
  var transformObject = function (response) {
    var model = new LoggedUser();
    angular.extend(model, response);
    return model;
  };
  return {
    transform: transformObject
  };
}]);

flow

AuthService(get data)==>UserService(data transform to LoggedUser using the transformer)
    ==>LoginController
1
  • Please post the code of your service. Commented Dec 12, 2015 at 15:16

1 Answer 1

1

You are not returning a promise. Change your controller code to:

useroneService.getLoggedUser(user).then(function(data) {
    var user = data;
    console.log(user);
})

One more thing, you are not returning the response from your service:

return authService.login(user).then(function (response) {
  var loggedUser = userTransformer.transform(response.data);
  return loggedUser; //add this
}); 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.