搜索

首页  >  问答  >  正文

angular.js - angular js 如果有多个服务,应该如何用呢?

后台主要是restful api ,比如有很多taskService,projectService,commentService等等,我在一个界面要或去这三个服务的某些数据,就是一个任务要获取 评论,所属项目,任务内容等等详细的信息。在controller中该如何去写

taskService.query({uid:13},function(resource){
            $scope.tasks_list=resource;//获取某条任务的所有信息
        projectService.query({id:resouce.xmid},function(){//在将该信息的项目id传过去
            ...
        })
})

这样是不是会陷入嵌套?
望大神们给点思路啊~,还是说一开始的设计就有问题?

怪我咯怪我咯2743 天前492

全部回复(4)我来回复

  • 大家讲道理

    大家讲道理2017-05-15 16:53:23

    建议使用promise方案,在angular中就是$q。

    回复
    0
  • 漂亮男人

    漂亮男人2017-05-15 16:53:23

    如果 task project comment 之间存在关联,建议在服务端封装好再通过一个接口返回。

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-15 16:53:23

    这应该是服务端的问题。如果有需求需要调用多个service,最好基于这些需要增加对应的服务端API。这样在前端去请求这个API就可以了。

    回复
    0
  • 大家讲道理

    大家讲道理2017-05-15 16:53:23

    前端的请求是异步的,最好服务端改一下api,如果服务端不改的话你这边就只能用angular的promise,相当于转换为同步操作

    回复
    0
  • 取消回复