Hi,
i'm trying to communicate with themoviedb API.
I have to use promise but clearly i dont know how to use them.
I want to set a property of my controller with the data i get.
I use a factory service :
app.factory('tmdb', ['$http', '$q', '$log', function($http, $q, $log) {
return {
movie: function(id) {
var deffered = $q.defer();
$http.get('https://api.themoviedb.org/3/movie/'+id+'?api_key=3b21647fbda0a5b52703c04d6e74169e&language=fr').then(function(response)
{
$log.info(response); // what i want
$log.info(deffered.resolve(response)); // undefined :c
return deffered.resolve(response); // promise
});
}
};
}]);
so it returns a promise of a result.
app.controller('MovieCtrl', ['$http', '$log', 'tmdb', function($http, $log,
tmdb){
var promise = tmdb.movie(504);
promise.then(function(response) { // error Uncaught TypeError: Cannot
read property 'then' of undefined
this.movie = response;
console.log(this.movie);
});
}]);
and in my controller i fetch data for movie id 504.
but the movie method returns a undefined type, however, if i
$log.log(response), it gives me the data i want.
promise and http request are new to me, so i guess i don't know how to use
it yet, i've been looking for a solution all day but nothing.
Tell me if you need more information,
Thanks!
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.