Friday, May 17, 2024
 Popular · Latest · Hot · Upcoming
188
rated 0 times [  192] [ 4]  / answers: 1 / hits: 120485  / 10 Years ago, fri, may 9, 2014, 12:00:00

My service is:



myApp.service('userService', [
'$http', '$q', '$rootScope', '$location', function($http, $q, $rootScope, $location) {
var deferred;
deferred = $q.defer();
this.initialized = deferred.promise;
this.user = {
access: false
};
this.isAuthenticated = function() {
this.user = {
first_name: 'First',
last_name: 'Last',
email: '[email protected]',
access: 'institution'
};
return deferred.resolve();
};
}
]);


I'm calling this in my config file via:



myApp.run([
'$rootScope', 'userService', function($rootScope, userService) {
return userService.isAuthenticated().then(function(response) {
if (response.data.user) {
return $rootScope.$broadcast('login', response.data);
} else {
return userService.logout();
}
});
}
]);


However, it complains that then is not a function. Aren't I returning the resolved promise?


More From » angularjs

 Answers
21

From your service method:



function serviceMethod() {
return $timeout(function() {
return {
property: 'value'
};
}, 1000);
}


And in your controller:



serviceName
.serviceMethod()
.then(function(data){
//handle the success condition here
var x = data.property
});

[#71109] Wednesday, May 7, 2014, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
diontajm

Total Points: 391
Total Questions: 104
Total Answers: 104

Location: Netherlands
Member since Mon, Jun 7, 2021
3 Years ago
;