0
使用多個AJAX請求的索引我寫了這個代碼:響應處理
$(document).ready(function() {
var streamNames = [
"ESL_SC2",
"OgamingSC2",
"nl_kripp",
"nl_kripp",
"freecodecamp",
"storbeck"
];
for (var i = 0; i < streamNames.length; i++) {
$.getJSON(
"https://api.twitch.tv/kraken/streams/" +
streamNames[i] +
"?client_id=.......",
function(data) {
if (data.stream == null) {
$("#status" + [i]).text("Offline");
} else {
$("#status" + [i]).text("Online");
console.log(i)
}
;
這裏有發生2個問題。
1. JSON數據來自隨機,而不是在陣列的順序。
2.i在表達式中總是6(最後一個計數)。
任何人都可以幫助我弄清楚爲什麼會發生這種情況?
JSON沒有「秩序」(這是一個無序集合),並有6個流,讓你在'i'得到6。這些對我來說都不是一個'問題';這就是你的代碼如何設計的。 –
,但它應該得到第一個流光[i = 0],第二個流光[i = 1]等等,但是當我登錄它時,我會得到類似於4,3,5,6,1,2的流光 – Kostis
問題是你一個接一個地發送請求,但不檢查數據何時實際返回。如果您特別想按順序檢查它們,您希望在執行[**回調**](http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/)之後每個請求在其中進行下一個請求。 –