什么是循环API的好方法?

时间:2017-02-27 19:55:23

标签: javascript arrays node.js api

我正试图想出一个循环数组的好方法,到目前为止我只能弄清楚如何一次通过一个数组。我假设我需要制作一个forEach语句,但不完全确定如何说出所述语句。你们中的任何一个碰巧都知道这样做的好方法吗?

下面是删除了API密钥的node.js应用程序文件

request("https://api.sportradar.us/ncaamb-t3/games/" + yyyy + "/" + mm + "/" + dd + "/schedule.json?api_key=", function(error, response, body){
    if(!error && response.statusCode == 200){
        var data = JSON.parse(body);
    T.post('statuses/update', { status: (data["games"][6]["home"]["name"]) + " Vs " + (data["games"][6]["away"]["name"]) }, function(err, data, response) {
  console.log(data);
});
       }
  }); 

以下是我尝试循环的数组示例:

游戏:

  [ { id: 'f46c9795-a8f1-4ca3-8960-3788fb6a37c5',
       status: 'scheduled',
       coverage: 'extended_boxscore',
       scheduled: '2017-02-28T00:00:00+00:00',
       conference_game: true,
       venue: [Object],
       broadcast: [Object],
       home: [Object],
       away: [Object] },
     { id: '0e93d1d1-2d57-4524-b95f-d9d1b133b95f',
       status: 'scheduled',
       coverage: 'full',
       scheduled: '2017-02-28T00:00:00+00:00',
       conference_game: true,
       venue: [Object],
       broadcast: [Object],
       home: [Object],
       away: [Object] },
     { id: '7eb44074-4656-489a-976d-abfcbd669a7c',
       status: 'scheduled',
       coverage: 'extended_boxscore',
       scheduled: '2017-02-28T00:00:00+00:00',
       conference_game: true,
       venue: [Object],
       home: [Object],
       away: [Object] },
     { id: '76fed39a-f931-4243-885d-86b14da93e4a',
       title: 'Atlantic Sun - Quarterfinal 3',
       status: 'scheduled',
       coverage: 'full',
       scheduled: '2017-02-28T00:00:00+00:00',
       conference_game: false,
       venue: [Object],
       broadcast: [Object],
       home: [Object],
       away: [Object] },

你可以看到我为主队和客队输了一个数字[6],因为它似乎对我有用的唯一方式,否则它会给我一个错误,因为如果我写的话它就是一个对象喜欢这个(data["games"]["home"]["name"])有什么建议吗?

1 个答案:

答案 0 :(得分:1)

至于你的评论,只是循环游戏并向主队展示客场球队,以下内容将有效:

data.games.forEach(v => {
    console.log("home team: " + v.home.name, "away team: " + v.away.name);
});

当然,您可以使用相同的循环将多个状态更新发布到Twitter ...

我不知道Twitter API,也不知道是否有可能在一次通话中发布多个更新,但只需发布多次就可以使用:

data.games.forEach(v => {
    T.post('statuses/update', { status: v.home.name + " VS " + v.away.name }, 
        function(err, data, response) {
            // ... handle the response as you like
        }
});
data.games.forEach((v,i) => {
    setTimeout(() => {
        T.post('statuses/update', { status: v.home.name + " VS " + v.away.name },
            function(err, data, response) {
                // ... handle the response as you like
            });
    }, i * 20000);
});