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/)之后每个请求在其中进行下一个请求。 –