var url1="https://wind-bow.glitch.me/twitch-api/streams/";
var channelList= ["channel1","channel2",channel3"];
//I am trying to create for loop to define url with different channel names.
for(var i=0;i<channelList.length;i++){
var url="https://wind-bow.glitch.me/twitch-api/channels/" + channelList[i];
$.getJSON(url1+channelList[i],function(data){
//When the user click off button,I want to show offline channels.
$("#off").on("click", () => {
if(data.stream === null) {
$.getJSON(url,function(seconddata){
$("#main").append("<div class='row' style='margin-top:5px;'><div class='col-md-4'><p><img src='"+seconddata.logo+"'width='42' height='42'>"+" "+"<a href='"+seconddata.url+"' target=_blank>"+seconddata.display_name+"</a></p></div></div>")
});
}
});
});你好,我对编码很陌生。现在,我跟随着FreeCodeCamp,我正在与the查看器项目做斗争。但是我仍然停留在代码上:)我想创建一个for循环,并使用一个api来获取所有通道的数据。但是我只得到最后一个通道的数据,因为"i“在jquery函数之外增加了。它没有遍历jquery函数。我怎样才能解决这个问题?)
谢谢您的答复。
注意:对不起,我的英语。这不是我的母语。我希望你能理解我的问题。
发布于 2018-05-22 17:47:08
尝试像下面的代码片段那样的逻辑。
var url1="https://wind-bow.glitch.me/twitch-api/streams/";
var channelList= ["channel1","channel2","channel3"];
var allData = [];
//I am trying to create for loop to define url with different channel names.
for(var i=0;i<channelList.length;i++) {
var url="https://wind-bow.glitch.me/twitch-api/channels/" + channelList[i];
$.getJSON(url1+channelList[i],function(data){
allData.push(data);
});
};
//When the user click off button,I want to show offline channels.
$("#off").on("click", () => {
for (var j=0;j<channelList.length; j++) {
var data = allData[j];
if(data.stream === null) {
$.getJSON(url,function(seconddata){
$("#main").append("<div class='row' style='margin-top:5px;'><div class='col-md-4'><p><img src='"+seconddata.logo+"'width='42' height='42'>"+" "+"<a href='"+seconddata.url+"' target=_blank>"+seconddata.display_name+"</a></p></div></div>")
});
}
}
}); https://stackoverflow.com/questions/50473532
复制相似问题