无法在第二个$ http请求

时间:2016-12-28 22:56:02

标签: javascript angularjs callback

这里我有一个简单的$ http请求,我得到几个测验。然后我需要在每个测验结果中添加。但是i =获得的值而不是索引

$http.get(url).success(function(response) {
                $scope.quizes = response.quizes;
                for(var i=0; i<$scope.quizes.length; i++){
                    $http.get('url?filter=quizId,eq,' + $scope.quizes[i].id +'&transform=1').success(function(i, response){
                         return  function (result){
                            $scope.quizes[i].results = response; 
                         }
                    }(i,  response));
                }
            });

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这是我的解决方案:

angular.forEach($scope.quizes, function(quiz, $index){
  $http.get('url' + quiz.id +'&transform=1').then(function(result){
                    $scope.quizes[$index].results = result.data.results; 
                });
            });