【问题标题】:Cannot send index in the second $http request无法在第二个 $http 请求中发送索引
【发布时间】:2016-12-28 22:56:02
【问题描述】:

这里我有一个简单的 $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));
                }
            });

如何解决这个问题?

【问题讨论】:

    标签: javascript angularjs callback


    【解决方案1】:

    这是我的解决方案:

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

    【讨论】:

    • 我建议使用 angular.forEach 而不是使用标准的 javascript for。它的语法是 angular.forEach($scope.quizes, function(quiz, $index){});
    猜你喜欢
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    相关资源
    最近更新 更多