Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为资源添加自定义回调_Javascript_Angularjs_Angularjs Service - Fatal编程技术网

Javascript 为资源添加自定义回调

Javascript 为资源添加自定义回调,javascript,angularjs,angularjs-service,Javascript,Angularjs,Angularjs Service,我使用的是angularjs 1.1.5,并且有一个资源的服务提供商,有一个用例,返回的响应需要重新解析,一些信息需要规范化,这是一个特例,但是资源在整个项目中使用,不需要在调用它的任何地方都使用不同的资源或自定义过滤器 当从查询或get方法返回时,有没有一种方法可以添加额外的函数,但不会影响正常行为 它应该类似于,每当调用resource get方法时,执行回调对数据进行一些转换,然后按预期返回此数据 以下是该服务当前的实现方式 factory('Seccion', ['$resource

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

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

它应该类似于,每当调用resource 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;
  }])

您可以通过回调调用get方法。这里我引用的是Angular文档

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

  • HTTP获取“类”操作:Resource.action([parameters]、[success]、[error])
  • 非获取“类”操作:Resource.action([parameters]、postData、[success]、[error])
  • 非获取实例操作:实例.$action([参数],[成功],[错误])
因此,您可以通过回调调用get方法,如下所示:-

var s = Seccion.getWithNotas({params}, function() {
    doSomethingTo(s); 
}

是的,这是正确的,这就是我正在使用的,但问题是我希望每次都执行此回调,并且仍然能够在控制器内使用另一个回调,例如,当seccion的ID为32时,需要进行一些转换,这应该自动完成(不必每次使用Seccion时都编写相同的回调函数),并且仍然能够在我的控制器和指令中使用正常的回调(已经转换了数据)。我认为您应该使用。它将允许您完成ngResource不允许的许多惊人的事情。