AngularJS扩展$ resource的默认get?

时间:2015-11-05 08:35:43

标签: angularjs angularjs-resource

我在$resource附近使用瘦服务来处理与API的通信。通常它可以根据需要工作。但是现在我想从get扩展$resource

假设前端需要按特定顺序返回数据。后端因任何原因无法修改。应用程序范围内需要排序顺序,因此在$resource定义中更改它将是最好的。

官方文档没有提及此主题。添加新功能已有详细记录,但更改默认功能则不然。 如何(理想情况下)将.then()添加到get

2 个答案:

答案 0 :(得分:2)

我不确定您的瘦服务包装器是什么样的,但是如果您想对您的响应做些什么,可以使用transformResponse - 属性。

angular.module('app', ['ngResource'])
   .factory('myWrapper', function($resource){
      return function(url){
         return $resource(url,
                          {},
                          {
                           get: {method: 'GET',
                                 transformResponse: function(data, headers){
                                   data.sort() //or something
                                   return data;
                                 }
                                }
                           }
                        );
                    };

      });

这将覆盖默认的get。

答案 1 :(得分:1)

如果要修改/排序响应,transformResponse选项可能会很方便。