I believe it has to do with asynchronous calculation working better with recursion. I’m not entirely sure though.
I made it work by changing it this way. I did it to both even though the first one worked already.
//JQuery example
var count = 0;
var count2 = 0;
var channels = [‘maddenamy’, ‘rockstargames’, ‘twitch’];
function getData() {
$.getJSON(“https://api.twitch.tv/kraken/channels/” + channels[count] + “/?callback=?”, function (json) {
$(’#names-jquery’).append(json.display_name + “
”);
});
++count;
if(count < channels.length) getData();
}getData();
//Javascript example
var channels = [‘maddenamy’, ‘rockstargames’, ‘twitch’];
function getData2() {
var xmlhttp = new XMLHttpRequest(),
url = ‘https://api.twitch.tv/kraken/channels/’ + channels[count2];
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var myArr = JSON.parse(xmlhttp.responseText);
document.getElementById(‘names-js’).innerHTML += myArr.display_name + “
”; // it loads the channels like jquery .append function
}
}
xmlhttp.open(‘GET’, url, true);
xmlhttp.send();
++count2;
if(count2 < channels.length) getData2();
}
getData2();