2017-03-03 95 views
-1

我想循环通过这个声明给我一个游戏的胜利者,但我希望每个游戏的胜利者能够显示1000毫秒。现在它循环遍历整个事物,每1000毫秒给我一个整个列表。什么是正确的方式来说明这一点,以便每1000毫秒循环显示每一个单独的数据?如何循环if else语句?

request("https://api.sportradar.us/ncaamb-t3/games/2017/03/02/schedule.json?api_key=*************", 
    function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      var data = JSON.parse(body); 
      data.games.forEach((v) => { 

       var homeName = (v.home.name); 
       var awayName = (v.away.name); 
       var homeScore = (v.home_points); 
       var awayScore = (v.away_points); 

       if (homeScore > awayScore) { 
        time = setInterval(function (time) { 
         console.log('statuses/update', 
            { status: homeName.toUpperCase() + " WIN!" }, 
            function (error, data, response) {}); 
        }, 1000); 
       } else { 
        console.log('statuses/update', 
           { status: awayName.toUpperCase() + " WIN!" }, 
           function (error, data, response) {}); 
       } 
      }); 
     } 
    }); 
+0

为什么你将回调传递给'console.log()'? – mscdex

+0

@mscdex只是让我可以看到它现在正在做什么。 – Branduo

+0

你的问题相当模糊 – Remario

回答

0

对于任何有兴趣的人来说,这就是我最终如何使它工作,似乎做的伎俩!

request("https://api.sportradar.us/ncaamb-t3/games/2017/03/06/schedule.json?api_key=**************", 
    function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      var data = JSON.parse(body); 
      data.games.forEach((v,i) => { 
       setTimeout(() => { 

       var homeName = (v.home.name); 
       var awayName = (v.away.name); 
       var homeScore = (v.home_points); 
       var awayScore = (v.away_points); 

       if (homeScore > awayScore) { 
         console.log('statuses/update', 
            { status: homeName.toUpperCase() + " WIN!" }, 
            function (error, data, response) {}); 

       } else { 
        console.log('statuses/update', 
           { status: awayName.toUpperCase() + " WIN!" }, 
           function (error, data, response) {}); 

       } 
      }, i * 1000); 
      }); 

     } 
    });