javascript - angularjs异步查询问题
本文介绍了javascript - angularjs异步查询问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
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(),多个请求怎么处理?
}
})
就是我希望再三次请求数据都拿到,然后再执行另一个方法,该怎样实现?
解决方案
简单:
$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) {
});
}
这篇关于javascript - angularjs异步查询问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文