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

angularjs异步查询问题

angularjs异步查询问题

拉丁的传说 2018-10-11 13:12:26
    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) {

            

        });

    }


查看完整回答
反对 回复 2018-11-30
  • 1 回答
  • 0 关注
  • 491 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信