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(),多个请求怎么处理?

    }

    

})

就是我希望再三次请求数据都拿到,然后再执行另一个方法,该怎样实现?

拉丁的传说
浏览 492回答 1
1回答

Smart猫小萌

简单:    $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) {                    });    }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript