Я сохранил некоторые предметные URL-ключи в localStorage и теперь хочу перебирать их, чтобы получить содержимое каждого из них.
// Walk through saved subjects
allSubjects = JSON.parse(localStorage.getItem('subjects'));
var i = 0;
var ii = 0;
var xhrIn = [];
for (i = 0; i < allSubjects.length; i++) {
xhrIn[i] = new XMLHttpRequest();
xhrIn[i].open("GET", "https://myserver.com/" + allSubjects[i], true);
xhrIn[i].onreadystatechange = function() {
if (xhrIn[ii].readyState == 4) {
console.log(xhrIn[ii].responseText);
percents = Math.floor((((ii+1)/allSubjects.length)*100));
$("div#status").text('Downloading... ' + percents + '%');
// Final phase
if ((ii+1) == allSubjects.length) {
$("div#status").text("All downloaded and saved in console.");
}
ii++;
}
};
xhrIn[i].send();
}
}
Это не работает, он перехватывает только первый URL, после чего в моем журнале консоли сообщается, что все остальные URL были установлены, но закрытие xhrIn [i] .onreadystatechange никогда не выполнялось.
Это выглядит немного волшебно для меня ... Кто-нибудь может объяснить мне такое поведение?