angular.js - angualrjs,$http异步操作执行完再执行下一步该怎么写

查看:125
本文介绍了angular.js - angualrjs,$http异步操作执行完再执行下一步该怎么写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

有三个步骤
step1:$http.jsonp(url1)
step2:$http.jsonp(url2)
step3:赋值操作 ,
步骤1、2没有顺序要求,步骤3要求在1、2步骤完成后执行;

因为步骤1、2会多处被调用,不希望是

步骤1.success{
   步骤2.success{
      步骤3}} 这样的写法    

希望将步骤1、2封装成一个公共方法,再执行步骤3,顺序执行,angularjs应该怎么写

解决方案

使用事件。不要用嵌套

$scope.$on('step1success',function(){
    //步骤二代码
//执行完成后在回调函数中触发
    $scope.$emit('step2success');
});
$scope.$on('step2success',function(){
    //步骤3代码
//执行完成后在回调函数中触发
    $scope.$emit('step3success');
});
$scope.$on('step3success',function(){
    //全部执行完成
});

//步骤一代码
//执行完成后在回调函数中触发
$scope.$emit('step1success');

这篇关于angular.js - angualrjs,$http异步操作执行完再执行下一步该怎么写的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆