正如你可能猜到的那样,我正在浏览 Freecodecamp 的项目,在 Twitch API 项目上。你可以在这里看到我的完整代码笔。
代码循环通过两个 json 调用来调用 twitch api,第一个工作正常,一切看起来都很好,那些将 data.stream 注册为“在线”而那些没有注册为“离线”的,这就是我所需要的。然后第二个 json 命中,一切都变糟了。在我的 codepen 上,我在 json 调用之前和之后控制台记录 stat 和 data 并且没有任何排队,第二组不遵循“离线/在线”规则,或者我没有看到正在发生的事情。已经与这个斗争了太久了,并且会喜欢一双新眼睛和一个受过更多教育的大脑来看看它;)
//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();
我在两个 JSON 查询中传递信息,因为“数据”切换了第二个数据 1 并且一切正常。我很笨。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句