Angularjs 如何编辑工厂返回的数据

Angularjs 如何编辑工厂返回的数据,angularjs,angularjs-factory,Angularjs,Angularjs Factory,我正在寻找一种改变工厂退货的方法。 例如,我有一个角度项目,其中包含:一个控制器和一个服务(工厂) 控制器作为两个对象(“item”和“someItem”)。 该服务公开了两个方法(“getIem()”和“getSomeItem()”) 控制器中的对象从服务接收数据 我希望使用方法“getItem()”返回json文件中作为对象存在的数据,并使用方法“getSomeItem()”返回与方法参数相关的特定项 (从“item”对象设置控制器中的“someItem”对象是一个解决方案,但我想在“get

我正在寻找一种改变工厂退货的方法。 例如,我有一个角度项目,其中包含:一个控制器和一个服务(工厂)

控制器作为两个对象(“item”和“someItem”)。 该服务公开了两个方法(“getIem()”和“getSomeItem()”)

控制器中的对象从服务接收数据

我希望使用方法“getItem()”返回json文件中作为对象存在的数据,并使用方法“getSomeItem()”返回与方法参数相关的特定项

(从“item”对象设置控制器中的“someItem”对象是一个解决方案,但我想在“getSomeItem()”方法中这样做,也许我误解了promise的工作方式,但我认为我可以在工厂中编辑方法的返回,这是工厂的一个坏用途吗?)

普朗克在这里:


问题在于您的
.success
.error
,如果您将其更改为
,则它应该可以工作:

.then(
    function(data){
        //I try to return just a specific object 
        var oneObject = data.data.objet1[item]; 
        return oneObject
    },
    function(data){
        throw new Error(data + status + headers + config)
    }
 );
更新的PRUNKR:


此处说明:

问题在于您的
成功
错误
,如果您将其更改为
,则它应该可以工作:

.then(
    function(data){
        //I try to return just a specific object 
        var oneObject = data.data.objet1[item]; 
        return oneObject
    },
    function(data){
        throw new Error(data + status + headers + config)
    }
 );
更新的PRUNKR:


这里的解释:

解释“成功”/“错误”和“然后”之间的区别非常有用!非常感谢马丁!解释“成功”/“错误”和“然后”之间的区别非常有用!非常感谢马丁!