-1
配列を反復処理するためにこのforループを設定して、各チャンネルごとにサイクルを繰り返して各値のオブジェクトを取得できるようにしましたが、コードを解析するときには、ループの内側。ループ内で関数を作成せずにこの機能を使用するより適切な方法はありますか?この場合、https://codepen.io/Na-Ya/pen/EwrOYYループ内のAjaxリクエスト
$(document).ready(function(){
var channels = ["ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"];
for (var i=0; i<channels.length; i++){
$.ajax({
method: "get",
url:"https://wind-bow.gomix.me/twitch-api/streams/" + channels[i],
dataType: "jsonp",
success: function(data){
// if statement for offline channels
if (data.stream === null){
//sets offlineName to the channel name
var offlineName = data._links.channel.replace("https://api.twitch.tv/kraken/channels/", "").toLowerCase();
$("#offline").append("<div class='row'>" + "<div class='col m-2'>" + "<h3>" + offlineName + ": Offline" + "</h3>" + "</div>" + "</div>");
}
else if (data.stream.channel !== null){
var channelName = data.stream.channel.display_name;
var channelStatus = data.stream.channel.status;
var channelLogo= data.stream.channel.logo;
var channelUrl = data.stream.channel.url;
var channelGame = data.stream.channel.game;
$("#online").append("<div class='row'>" + "<div class='col'>" + "<img class='mx-auto' src='" + channelLogo + "' alt='Logo'>" + "<h3>" + channelName + "</h3>" + "<a href='" + channelUrl + "'>" + "<p>" + channelGame + ": " + channelStatus + "</p>" + "</a>" + "</div>" + "</div>");
}
}, //closes out success function
}); //closes out ajax request
};//closes out for loop
}); //closes out document ready
を、私はあなたが警告を意味すると仮定しますか?ループ内で関数を作成する必要がある場合は、それを行います。あなたがしなければ、しないでください。あなたのケースでは*ない*それはループの外側にあなたのajax成功ハンドラを定義することを意味しますが、これはいかなる否定的な結果ももたらさないでしょう。 –
申し訳ありませんが、私は警告を受けることを意味しません。私はループの外でajaxの成功関数を定義しようとしましたが、スタックに達し、配列の各値に対してオブジェクトを取得できませんでした。 –
それは残念です。 –