var hour = [ "00:00", "01:00", "02.00" ] $scope.data = []; $scope.search = function(){ angular.forEach(hour,function(item){ $http.get('url'+item) .success(function(res){ $scope.data.push(res); }) //我想在这里改变$scope.data的内容,一个请求时用$q.defer(),多个请求怎么处理? } })就是我希望再三次请求数据都拿到,然后再执行另一个方法,该怎样实现?
1 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
简单:
$scope.search = function(){
var promises = [];
angular.forEach(hour,function(item){
var deffered = $q.defer();
$http.get('url'+item)
.success(function(res){
$scope.data.push(res);
deffered.resolve();
})
.error(function() {
deffered.reject();
});
promises.push(deffered.promise);
})
$q.all(promises).then(function() {
//我想在这里改变$scope.data的内容,一个请求时用$q.defer(),多个请求怎么处理?
}, function(err) {
});
}
添加回答
举报
0/150
提交
取消