2016-08-05 5 views
0

Controller.js라고하지 :

service.getUsers(params).$promise.then(function(response) { 
    var data = response; 
    $scope.users = data.resources; 
    $scope.totalItems = data.totalResults; 
}); 

Service.js :

return $resource('/Users', {}, { 
      getUsers: { 
       method: 'GET', 
       headers: {'segment' : 'computedSegment'}, 
       isArray: true, 
       transformResponse: function(data, header){ 
        var wrapped = angular.fromJson(data); 
        angular.forEach(wrapped.resources, function(item, idx) { 

         wrapped.resources[idx] = item; 
        }); 

        var deffered = $q.defer(); 
        deffered.resolve(wrapped); 



        return deffered.promise; 
       } 
      }}); 

내가 무엇입니까 문제는, 요청이 간다하더라도이다 서버, 나는 응답을 받으면 데이터가 올바르게 처리되고, "then 함수는 결코 $ 범위 변수를 설정하지 않습니다.

누구도 아이디어를 가지고 있습니까?

답변

0

getUsers 메소드 다음에 query() 메소드를 사용하는 것을 잊었을 것입니다. 그리고 당신은 transformResponse 메서드에서 promise를 사용할 필요가 없다고 생각합니다. 이 answers을 확인할 수 있습니다.

+0

정확히 어디에서 쿼리 메소드를 사용해야한다고 말합니까? –

+0

처럼; service.getUsers (params) .query(). $ promise –

+0

TypeError : UsersService.getUsers (...). query는 함수가 아니며 코드를 변경하면 수신됩니다. UsersService.getUsers (params) .query () $ promise.then (함수 (응답). –