0

我正在使用 angularjs 1.1.5 并且有一个资源的服务提供者,有一个用例需要重新解析返回的响应并且需要规范化一些信息,这是一种特殊情况,但资源在整个项目,并且不希望在调用它的任何地方都必须使用不同的资源或自定义过滤器。

有没有一种方法可以在从查询或 get 方法返回时添加额外的函数,但不会影响正常行为。

应该是这样的,每当调用资源获取方法时,执行回调对数据进行一些转换,然后按预期返回此数据。

这是当前实现服务的方式。

  factory('Seccion', ['$resource', 'api_url', function($resource, api_url) {
    var Seccion = $resource(api_url + 'secciones/:seccionId/:nestedResource/:nestedId',
      {
        seccionId: '@seccionId',
        nestedResource: '@nestedResource',
        nestedId: '@nestedId'
      },
      {
      getWithNotas: {
        method: 'GET',
        params: {
          nestedResource: 'notas',
          order: 'fecha,desc;hora,desc',
          q: 'activo,=,1;borrado,=,0',
          count: 9,
          offset: 0
        }
      }
    });
    return Seccion;
  }])
4

1 回答 1

0

您可以使用回调调用 get 方法。在这里,我引用了 Angular $resource文档。

可以使用以下参数调用类对象或实例对象上的操作方法:

  • HTTP GET“类”操作:Resource.action([parameters], [success], [error])
  • 非 GET “类”操作:Resource.action([parameters], postData, [success], [error])
  • 非 GET 实例操作:instance.$action([parameters], [success], [error])

因此,您可以使用如下回调调用 get 方法:-

var s = Seccion.getWithNotas({params}, function() {
    doSomethingTo(s); 
}
于 2013-07-24T14:28:44.250 回答