I have this code in a service, it works for me. As far as I know, $http.get()
returns a promise, promise executes asynchronously, so why do I need to use deffered.resolve(res.data)
to return data in my service. Thanks a lot.
data.posts = function(page, perPage, format, orderBy) {
var deffered = $q.defer();
$http.get(hostName, {
params: {
'page': page,
'per_page': perPage,
'filter[post_format]=': format,
'filter[orderby]=': orderBy,
'order': 'desc'
}
}).then(function(res) {
deffered.resolve(res.data);
})
return deffered.promise;
}