它看起來像我的循環正在循環最後一個分析到所有領域的對象。爲什麼我的循環凍結?
http://codepen.io/anon/pen/EKxNaN
這是我使用實際的代碼,我建立什麼樣的類似的codepen因爲在codepen我不能從實際源請求JSON。
var championMasteryPHP = "https://api.myjson.com/bins/xked";
$.getJSON(championMasteryPHP, function (json) {
for (var i = 0; i < json.length; i++) {
var champID = json[i].championId;
var champLevel = json[i].championLevel;
var pointstonextlevel = json[i].championPointsUntilNextLevel;
var championInfo = "http://example.com/champInfo.php?champid=" + champID;
$.getJSON(championInfo, function (json2) {
var champName = json2.name;
var champTitle = json2.title;
$('#champ').append("<li>ID: " + champID + " | Name: " + champName + " | Level: " + champLevel + " | Points to Next Level: " + pointstonextlevel + "</li>");
});
};
});
長話短說,我試圖實現的是這樣的。
但由於某些原因,這是我得到的替代。
正確的名稱,但其他變量是在列表中最後一個變量。
有沒有更好的方法來做到這一點?我在做一些非常錯誤的事情嗎?
謝謝。
我敢肯定問題是你在for循環中有一個異步函數,當調用異步函數時,所有引用相同的索引值。http://stackoverflow.com/questions/11488014/asynchronous-process-inside-a-javascript-for-loop –
可能重複的htt p://stackoverflow.com/questions/11488014/asynchronous-process-inside-a-javascript-for-loop – JagsSparrow
這是一個'臭名昭着的循環問題'。讓我發表我的回答 –