在AngularJS中链接未知数量的承诺
发布时间:2020-12-17 07:33:48 所属栏目:安全 来源:网络整理
导读:好吧,假设我有一系列n个XHR请求: var promises = [];var AllResults = [];$scope.requests = [ { "uri":"http://foo/bar/action1","name":"Action1" },{ "uri":"http://bar/foo/action2","name":"Action2" },{...},{...}];var ParseMyResultsArray = functi
好吧,假设我有一系列n个XHR请求:
var promises = []; var AllResults = []; $scope.requests = [ { "uri":"http://foo/bar/action1","name":"Action1" },{ "uri":"http://bar/foo/action2","name":"Action2" },{...},{...} ]; var ParseMyResultsArray = function(){ console.log(AllResults); //... }; angular.forEach($scope.requests,function(request){ var promise = $http.get(request.uri); promises.push(promise); }); angular.forEach(promises,function(promise){ promise.then(function(results){ AllResults.push(results); }); }); //Then,when all promise are resolved... ParseMyResultsArray(); 如果在不知道请求数组的大小的情况下解析了所有的promises,我怎么能确定调用ParseMyResultsArray()? 谢谢你的帮助!
从angular docs到
$http:
因此,可以使用$q.all()方法来获取一系列承诺,并且:
实现代码是: $q.all(promises).then(function () { /* All promises are resolved */ }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |