I try to use .then() in my angular controller
angular.module('n2goApp')
.controller('MainCtrl', function($scope, Products) {
Products.get(). then( function ( response ) {
$scope.data = response;
console.log(response);
$scope.totalPages = response.TotalPages;
$scope.totalItems = response.total;
$scope.products = response.data;
$scope.currentPage = response.current_page;
$scope.maxSize = 5;
$scope.setPage = function(pageNo) {
$scope.currentPage = pageNo;
};
});
});
but drops me an error
Error: Products.get(...).then is not a function
Service
angular.module('n2goApp')
.service('N2goservice', function N2goservice() {
// AngularJS will instantiate a singleton by calling "new" on this function
}).factory('Products', ['$resource', function($resource) {
var url = 'http://domain.com/api/products';
return $resource( url + '/:prodID',
{ bookId: '@prodID' }, {
loan: {
method: 'PUT',
params: { prodId: '@prodID' },
isArray: false
},
get:{
method: 'GET',
params: {
prodId: '@prodID',
page:'@page'
},
isArray: false
}
/* , method3: { ... } */
} );
}]);
What I'm doing wrong?
You have to get the $promise from the resource. Like this:
Products.get().$promise.then(..)