如何实现angular中service层一个方法在另一个方法调用完毕进行调用

呵呵小哥 2020-08-22 10:23:28
angular的前后端分离中,service层的默认方法是异步调用的,但是做商城项目时有一个需求:

我点击修改商家:需要先将商家查询出来,然后显示在页面进行修改,但是回显商家信息的controller和商家修改页面所属的不是一个controller,这在我页面绑定的时候就出现了问题:

我页面只能引入一个controller,所以我一开始将loginService引入到sellerController,这样子虽然可以调用获取到商家信息,但是调用时候显示商家的方法和页面初始化根据商家ID查询商家总是没有先后顺序,这个是不行的,必须先得到商家ID

网上实现angular的同步调用方法很多,但是无奈初学,也在不断探讨,今天我先用一种笨拙但是特别容易理解的方式将其实现先后调用!

//初始化查询商家信息
//初始化信息调用方法,在调用方法回调完毕之后将第二个调用的函数作为参数进行调用,可以实现异步调用
$scope.initSellerMess=function(){
$scope.searchLoginName($scope.findOne);
}

// 查询sellerId
$scope.searchLoginName=function(findOne){
loginService.loginName().success(
function(response){
$scope.loginName = response.loginName;
findOne($scope.loginName);
}
);
}
// 查询实体
$scope.findOne=function(loginName){
sellerService.findOne(loginName).success(
function(response){
$scope.entity= response;
}
);
}

如代码所示,页面初始化方法调用initSellerMess(); 然后调用查询商家ID的方法,将第二个要调用的方法作为参数传递进去,在searchLoginName()方法调用完毕以后,将商家ID作为参数调用查询商家的方法,即可实现!
...全文
280 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧