84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
有三个步骤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');
使用ng自带的$q服务
let promises = { alpha: promiseAlpha(), beta: promiseBeta(), gamma: promiseGamma() } $q.all(promises).then((values) => { console.log(values.alpha); // value alpha console.log(values.beta); // value beta console.log(values.gamma); // value gamma complete(); }); // promises包含多个promise对象,当所有promise对象成功返回时,$q.all().then()中的成功方法才会被执行。 // $http返回的正是promise对象
楼主可以学习一下 $q 与 promise 对象。就如楼上所示,Angular有一个 $q.all(),你正可以用上。
使用事件。不要用嵌套
使用ng自带的$q服务
楼主可以学习一下 $q 与 promise 对象。就如楼上所示,Angular有一个 $q.all(),你正可以用上。