2014-06-28 28 views
6

Ich versuche zu verwenden .then() in meinem WinkelreglerWinkel .then() wird nicht erkannt

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

aber fällt mir ein Fehler

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

Dienst

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

}]); 

Was mache ich falsch?

+0

Können Sie den Code der Produkte Service bieten? – cuttlas

+0

hinzugefügt service zu post – fefe

Antwort

18

Sie müssen das Versprechen aus der Ressource erhalten. Wie folgt aus:

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

thnak für rückmeldungen funktioniert! – fefe

7

Oder Sie können die andere Syntax mit Rückruf

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

thnak für Feedback funktioniert! – fefe