Angular .then()无法被识别



我尝试在我的角控制器中使用。then()

 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;
                    };
                });
});

但是给我一个错误

Error: Products.get(...).then is not a function

服务
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: { ... } */
        } );
}]);

我做错了什么?

您必须从资源中获得$promise。这样的:

Products.get().$promise.then(..)

或者您可以使用回调的其他语法

Products.get({},function(response) {
});

最新更新