2017-01-21 21 views
0

如果您檢查控制檯,它會記錄一個空數組,然後該數組包含具有正確信息的對象。我在數組上記錄typeof並顯示對象。我很困惑,我試圖將名稱推入數組,以便可以在隨後的for循環中使用它們。將Json/ajax信息推入數組是否會創建一個對象?

$(document).ready(() => { 

    let followerNames = []; 

    $.ajax({ 
    type: 'GET', 
    asynx: false, 
    url: "https://api.twitch.tv/kraken/users/SCKADOOSH/follows/channels", 
    headers: { 
     'Client-ID': 'drj8nyih5rn8z2go1x0fgga6dmudwx' 
    }, 
    success: (data2) => { 

     for (var i = 0; i < data2.follows.length; i++) { //check number of folowers user has 
      const usersCurrentFollowers = data2.follows[i]; //check the array and get the channel names of followers 
      followerNames.push(usersCurrentFollowers.channel.display_name); //push that channel name into an array of user's followers 
     } 
    } 
    }); 

    console.log(followerNames); 



    for (var j = 0; j < followerNames.length; j++) { //iterate over the array of follower names 
     $.ajax({ 
     type: 'GET', 
     url: 'https://api.twitch.tv/kraken/streams/'+followerNames[j], 
     headers: { 
     'Client-ID': 'drj8nyih5rn8z2go1x0fgga6dmudwx' 
     }, 
     success: (data) => { 
      // console.log(data); 

      let streamStatus = data.stream; //status of the users stream offline/online 
      // console.log(channelUrl); 

      if (streamStatus === null) { //check if streaming or not....if not streaming 
      const offlineChannelLogo = "https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/User-offline.svg/1024px-User-offline.svg.png"; //placeholder logo for offline streamer 
      $("#status").append("<h3> Offline </h3>") //set status to offline 
      $("#logo").append("<img class='streamerLogo' src='" + offlineChannelLogo + "'/>"); //logo to placeholder logo 
      $("#streamerName").append("<h3>User Offline</h3>"); //set current stream/game to 'User Offline' 

     } else { //if currently online streaming 
      const channelLogo = data.stream.channel.logo; //get channel logo 
      const streamerName = data.stream.channel.display_name; //get streamer name 
     const streamLink = "https://www.twitch.tv/"+streamerName; //get link to streamers schannel 
      $("#status").append("<h3><a href=" + streamLink +">" + streamStatus.game + "</a></h3>") //display game currently streaming on channel 
      $("#logo").append("<img class='streamerLogo' src='" + channelLogo + "'/>"); //display channel logo 
      $("#streamerName").append("<h3>"+ streamerName+"</h3>"); //display streamer name 
     } 
    } 
    }); 
    } 
}); 
+1

比薩送貨前不能吃。 Ajax是異步的 – charlietfl

回答

0

陣列對象。幾乎所有東西都是。更多關於那here

至於console.log(),你登錄你做了之後Ajax請求,而不是結果來了之後,這就是爲什麼你會得到一個空數組 - 因爲沒有數據。您應該將日誌放在success回調中以記錄數據。