Я работаю над обновляющим списком, который показывает информацию о некоторых пользователях. Он должен показать свой логотип, имя и, если они будут в сети. В настоящее время я хватаю каналы и помещаю их в три массива. Один массив для информации о канале Twitch, который содержит информацию обо всех каналах. Один массив, который содержит имя_экземпляра онлайн-пользователей. Один массив, содержащий имя display_name для автономных пользователей.Угловое асинхронное время
В настоящее время он работает, но работает только если вы нажмете кнопку начала. Почему кнопка нужна и как я могу сделать список заполненным без кнопки?
http://codepen.io/crosscris/pen/ZGEOor?editors=101
var app = angular.module('FCCTwitchChecker', []);
app.controller('FCCTwitchController', function() {
var TwitchCheck = this;
var FCCstreamers = ["freecodecamp", "storbeck", "terakilobyte", "habathcx","notmichaelmcdonald","RobotCaleb", "medrybw","comster404","brunofin","thomasballinger","joe_at_underflow","noobs2ninjas","mdwasp","beohoff","xenocomagain"];
TwitchCheck.AllUsersChannelObjects = [];
TwitchCheck.OfflineUsers = [];
TwitchCheck.OnlineUsers = [];
var BeginningURL= "https://api.twitch.tv/kraken/";
FCCstreamers.forEach(function(streamer){
var streamURLstring = BeginningURL + "streams/" + streamer + "?client_id=1234chrisclientid4321&callback=?";
var channelURLstring = BeginningURL +"channels/" + streamer + "?client_id=1234chrisclientid4321&callback=?";
$.ajax({
type: "GET",
dataType: "json",
url: streamURLstring,
success: function(result) {
if(result.stream === null || result.error==="Not Found") {
TwitchCheck.OfflineUsers.push(streamer);
} else {
TwitchCheck.OnlineUsers.push(streamer);
}
},
error: function() {
console.log("It failed");
}
});
$.ajax({
type: "GET",
dataType: "json",
url: channelURLstring,
success: function(result) {
if (result.error !== "Not Found") {
TwitchCheck.AllUsersChannelObjects.push(result);
if (result.logo === null) {
TwitchCheck.AllUsersChannelObjects[TwitchCheck.AllUsersChannelObjects.length - 1].logo === "http://placehold.it/350x150";
}
}
},
error: function() {
console.log("It failed");
}
});
});
TwitchCheck.showArray = function() {
console.log(TwitchCheck.AllUsersChannelObjects);
}
TwitchCheck.OnorOff = function(ChannelName) {
if(TwitchCheck.OnlineUsers.indexOf(ChannelName.name) !== -1) {
return "on";
} else {
return "off";
}
}
});
я был дан список display_names и некоторые из отображаемых имен не являются действительными каналов. Я считаю, что ajax/angular застревает, пытаясь найти информацию о недействительных каналах, но я не уверен.
Если это Угловая приложение, вы должны использовать угловую '$ http' метод вместо JQuery в' $ .ajax' – mcranston18