在项目定义了两个服务,获取task和project,如果在controller中一起获取他们的数据然后进行赋值呢?目前我是通过jstaskService.get({id:id},function(data1){//...projectService.get({id:id},function(data2){//里面赋值的操作很长...})})请问大神们采用$q的方式应该如何写,还有我在很多地方会用到这个获取数据的操作,如何让他们复用呢?谢谢
2 回答
青春有我
TA贡献1784条经验 获得超8个赞
可以在service中增加一个方法,是同时获取两个的就OK了,例如:js//someService中伪代码someService.getAll=function(id){varpmo=$q.all([taskService.get({id:id}),projectService.get({id:id})]);//根据情况,可以写下边的代码,也可以直接返回这个propmo.then(....)}
侃侃无极
TA贡献2051条经验 获得超10个赞
taskService.sub1=function(post_data,callback){projectService.get(post_data,function(rsp){if(angular.isFunction(callback)){callback(rsp);}}}taskService.sub1({id:1},function(rsp){//里面赋值的操作很长});
添加回答
举报
0/150
提交
取消