2017-03-03 96 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); 
      }); 

     } 
    });