AngularJs $ resource - “then”函数未被调用

时间:2016-08-05 08:45:38

标签: angularjs

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

我得到的问题是,虽然请求进入服务器,我收到响应,数据被正确处理,然后“函数永远不会被执行来设置$ scope变量。

有没有人有想法?

1 个答案:

答案 0 :(得分:0)

我猜你忘了在getUsers方法之后使用query()方法。而且我认为你不需要在transformResponse方法中使用promise。您可以查看answers