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

请问使用angularjs如何在for循环里面循环多次回调?

请问使用angularjs如何在for循环里面循环多次回调?

拉莫斯之舞 2018-12-20 16:15:16
var app = angular.module('app', []);    app.controller('appctrl', ['$http', '$q', function($http, $q) {        function aaa(id) {            var deferferred = $q.defer();            $http({                method: 'get',                url: 's' + id + '.html'            }).then(function(res) {                deferred.resolve(1);            })            return deferred.promise;        }        var b = [0,1, 2, 3, 4, 5, 6, 7, 8, 9];        var c = [];        for (var i = 0; i < b.length; i++) {            var promise = aaa(b[i]);            promise.then(function(res) {                c.push(res);            })        }        console.log(c)    }])请问,如何让for循环中的promise全部完成后,取到所有的res,保存在c里?
查看完整描述

1 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

for  循环是马上走下去的。所以要跳出循环等promise执行完了才玩下走。

了解下 async中的await  可以在中for循环使用await  

当js遇到await会暂时跳出循环。等await执行完了。才继续往下执行。

如果有多个await 会一个个的执行。

async function aaa() {

 ////

  for (var i = 0; i < b.length; i++) {

    await fun();//要循环执行的函数

  }

}


查看完整回答
反对 回复 2019-01-28
  • 1 回答
  • 0 关注
  • 385 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号