为了账号安全,请及时绑定邮箱和手机立即绑定

angularjs中的多个服务同时多次如何调用?

angularjs中的多个服务同时多次如何调用?

牛魔王的故事 2019-04-10 20:48:44
在项目定义了两个服务,获取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})]);
//根据情况,可以写下边的代码,也可以直接返回这个pro
pmo.then(....)
}
                            
查看完整回答
反对 回复 2019-04-10
?
侃侃无极

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){
//里面赋值的操作很长
});
                            
查看完整回答
反对 回复 2019-04-10
  • 2 回答
  • 0 关注
  • 436 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信