因此,我为免费代码阵营制作了这个twitch.tv应用程序接口页面。我尝试迭代streamers数组并将数据推送到结果数组,按查看人数排序并在页面上显示结果数组中的数据。
问题是,当.append内容在for循环中时,会多次写入infor。如果我把它移出for循环,变量是未定义的。
聪明人有什么好点子吗?
$(document).ready(function(){
getInfo();
var results = [];
function getInfo(){
var streamers = ["FreeCodeCamp","PlayHearthstone","summit1G","BradfordLee","Savjz","Z28RyanK"];
streamers.forEach(function(streamers){
$.getJSON('https://wind-bow.gomix.me/twitch-api/channels' + '/' + streamers + '?callback=?', function(data){
var name = data.display_name;
var game = data.game;
var logo = data.logo;
$.getJSON('https://wind-bow.gomix.me/twitch-api/streams' + '/' + streamers + '?callback=?', function(data){
var status = data.stream;
if(data.stream == undefined){
status = "Offline";
}else{
status = "Online";
}
var views = data.stream;
if(data.stream == undefined){
views = 0;
}else{
views = data.stream.viewers;
}
results.push({"name": name, "logo": logo, "status": status, "game": game, "views": views});
results.sort(function(b, a) {return parseFloat(a.views) -parseFloat(b.views);});
console.log(results);
results.forEach(function(results){
$('.main').append('<div><img src="' + logo + '"><p>' + name + '</p><p>' + status + '</p><p>' + game + '</p><p>' + views + '</p></div>');
})
} )
})
})
}
});https://stackoverflow.com/questions/44503165
复制相似问题