Javascript 为资源添加自定义回调
我使用的是angularjs 1.1.5,并且有一个资源的服务提供商,有一个用例,返回的响应需要重新解析,一些信息需要规范化,这是一个特例,但是资源在整个项目中使用,不需要在调用它的任何地方都使用不同的资源或自定义过滤器 当从查询或get方法返回时,有没有一种方法可以添加额外的函数,但不会影响正常行为 它应该类似于,每当调用resource get方法时,执行回调对数据进行一些转换,然后按预期返回此数据 以下是该服务当前的实现方式Javascript 为资源添加自定义回调,javascript,angularjs,angularjs-service,Javascript,Angularjs,Angularjs Service,我使用的是angularjs 1.1.5,并且有一个资源的服务提供商,有一个用例,返回的响应需要重新解析,一些信息需要规范化,这是一个特例,但是资源在整个项目中使用,不需要在调用它的任何地方都使用不同的资源或自定义过滤器 当从查询或get方法返回时,有没有一种方法可以添加额外的函数,但不会影响正常行为 它应该类似于,每当调用resource get方法时,执行回调对数据进行一些转换,然后按预期返回此数据 以下是该服务当前的实现方式 factory('Seccion', ['$resource
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([参数],[成功],[错误])
var s = Seccion.getWithNotas({params}, function() {
doSomethingTo(s);
}
是的,这是正确的,这就是我正在使用的,但问题是我希望每次都执行此回调,并且仍然能够在控制器内使用另一个回调,例如,当seccion的ID为32时,需要进行一些转换,这应该自动完成(不必每次使用Seccion时都编写相同的回调函数),并且仍然能够在我的控制器和指令中使用正常的回调(已经转换了数据)。我认为您应该使用。它将允许您完成ngResource不允许的许多惊人的事情。