Freecode Camp上的Twitch Api。 Null不等于离线。

时间:2017-10-26 19:39:08

标签: javascript json api twitch

正如您可能猜到我在Twitch API项目中经历了Freecodecamp的项目。你可以看到我的完整codepen here

代码循环通过两个json调用twitch api,第一个工作正常,一切看起来都很好,那些data.stream注册为" online"那些没有注册为"离线"这就是我需要的一切。然后第二个json命中,一切都变成了地狱。在我的codepen上,我控制台在json调用之前和之后记录stat和数据,没有任何排队,第二组不遵循" offline / online"规则,或者我没有看到的东西正在发生。一直在与这个人争斗太长时间,并且会喜欢一双新的眼睛和一个受过更多教育的大脑来看看它;)

//channel names
var usrNames = ["ESL_SC2", "freecodecamp"]
var url = "";
var stat = "offline";
//for each name create channel block
function createPlayers() {
  usrNames.forEach(function(usrName) {
    function createURL(type, name){
      url = 'https://wind-bow.gomix.me/twitch-api/' + type + '/' + name + '?callback=?';
      return url;
    }
    $.getJSON(createURL("streams", usrName), function(data) {
      if (data.stream == null){
        stat = "offline";
      } else {
        stat = "online";
      }
      $.getJSON(createURL("channels", usrName), function(data) {
        var logo = "";
        if (data.logo == null){
          logo = "https://via.placeholder.com/60x60";
        } else {
          logo = data.logo;
        }
        var newHtml = "<div class='channel_box'><div class='innerbox'><div class='clearfix'><div><img class='logo' src='"+ logo +"'></div><div class='chName'>" + usrName + "</div><div class='" + stat + "'>Online</div></div><div class='bannerBox'><img src='" + data.profile_banner + "'></div></div></div>"
        $("#outline").append(newHtml); 
      });
    });
  });
}
createPlayers();

1 个答案:

答案 0 :(得分:0)

我将JSON查询中的信息传递为&#34;数据&#34;切换了第二个数据1,它全部正常工作。我很傻。