Javascript 我怎样才能使递归在角度

Javascript 我怎样才能使递归在角度,javascript,jquery,arrays,angularjs,recursion,Javascript,Jquery,Arrays,Angularjs,Recursion,我制作了一个小程序,该程序应该根据给定的数组长度通过API顺序获取数据。我有一个按钮,当点击时它会在数组中循环 这是角度控制器: angular.module('LoadingBarExample', ['chieffancypants.loadingBar', 'ngAnimate' ]) .config(function(cfpLoadingBarProvider) { cfpLoadingBarProvider.includeSpinner = true; })

我制作了一个小程序,该程序应该根据给定的数组长度通过API顺序获取数据。我有一个按钮,当点击时它会在数组中循环

这是角度控制器:

 angular.module('LoadingBarExample', ['chieffancypants.loadingBar',
     'ngAnimate'
 ])
 .config(function(cfpLoadingBarProvider) {
     cfpLoadingBarProvider.includeSpinner = true;
 })
 .controller('ExampleCtrl', function($scope, $http, $timeout, cfpLoadingBar) {
         $scope.posts = [];
         $scope.test = 0;
         $scope.section = null;
         $scope.subreddit = null;
         $scope.subreddits = ['cats', 'pics', 'funny', 'gaming', 'AdviceAnimals',
             'aww'
         ];
         var getRandomSubreddit = function() {
             // var sub = $scope.subreddits[Math.floor(Math.random() * $scope.subreddits.length)];
             if ($scope.test > $scope.subreddits.length - 1) {
                 $scope.test = 0
             }
             var sub = $scope.subreddits[$scope.test];
             // console.log($scope.subreddits[$scope.test])

             $scope.test++;



             // ensure we get a new subreddit each time.
             if (sub == $scope.subreddit) {
                 return getRandomSubreddit();
             }

             return sub;
         };

         $scope.fetch = function() {

             $scope.subreddit = getRandomSubreddit();
             $http.jsonp('http://www.reddit.com/r/' + $scope.subreddit + '.json?limit=50&jsonp=JSON_CALLBACK').success(function(data) {
                 $scope.posts = data.data.children;
             });

         };
这是HTML:

<a href="#" class="btn btn-primary btn-lg" ng-click="fetch()"><i class="glyphicon glyphicon-play-circle"></i> Start Service <span> (User Arrive)</span></a>
</div>
</div>

<h4 class="loading-text" ng-show="subreddit">Showing 100 results for: <span>/r/{{subreddit}}...</span></h4>
<div ng-repeat="post in posts" class="panel panel-default">
    <div class="panel-body media">
        <span class="badge pull-right">{{post.data.score}}</span>
        <div class="pull-left" ng-if="post.data.thumbnail">
            <img class="thumbnail" ng-src="{{post.data.thumbnail}}">
        </div>
        <div class="">
            <div class="">
                <a href="{{post.data.url}}">{{post.data.title}}</a>
                <p class="meta">by {{post.data.author}}</p>
                <p class="meta-comments">{{post.data.num_comments}} comments</p>
            </div>
        </div>
    </div>
</div>

显示:/r/{{{subreddit}}的100个结果。。。
{{post.data.score}

by{{post.data.author}

{{post.data.num_comments}comments

我想按下按钮一次,提取应该继续显示,直到数组长度


谢谢

每次打电话时,您都在替换POST数据

替换
$scope.posts=data.data.children
使用
$scope.posts=$scope.posts.concat(data.data.children)追加帖子而不是替换帖子

如果希望fetch函数在
$scope.subreddits
数组中运行的次数与subreddits相同,则可以将
fetch()
更改为以下内容:

$scope.fetch = function() {
for (i = 0; i < $scope.subreddits.length; i++) {
    $scope.subreddit = getRandomSubreddit();
    $http.jsonp('http://www.reddit.com/r/' + $scope.subreddit + '.json?limit=50&jsonp=JSON_CALLBACK').success(function (data) {
        $scope.posts = $scope.posts.concat(data.data.children);
    });
}};
$scope.fetch=function(){
对于(i=0;i<$scope.subreddits.length;i++){
$scope.subreddit=getRandomSubreddit();
$http.jsonp('http://www.reddit.com/r/'+$scope.subreddit+'.json?limit=50&jsonp=json_CALLBACK')。成功(函数(数据){
$scope.posts=$scope.posts.concat(data.data.children);
});
}};

我不需要连接api响应,我希望在数组长度之前进行顺序api调用(fetch迭代器)更新以包含您的请求您是否有电子邮件向您发送应用程序我想递归调用fetch函数直到数组长度我尝试了您版本的fetch函数,但它无法正常工作,因此如果您有电子邮件查看应用程序,请尝试,但它无法工作,因为我单独单击按钮,而我没有;i don’我不想串联响应,我想在每个响应中单独显示数据