我有一段 jQuery 代码可以getJSON()
快速连续调用多个调用:
var table = $("table#output");
for (var i in items) {
var thisItem = items[i];
$.getJSON("myService", { "itemID": thisItem }, function(json) {
var str = "<tr>";
str += "<td>" + thisItem + "</td>";
str += "<td>" + json.someMember + "</td>";
str += "</tr>";
table.append(str);
});
}
当我在一个滞后的服务器上运行它时,表中填充了预期json.someMember
值(它们乱序到达:我不介意),但是该thisItem
列填充了来自各种迭代的不可预测的混合值。
我假设这与范围和时间有关 - 回调函数正在thisItem
从更广泛的范围读取?我对吗?我该如何防止这种情况?
我目前的解决方法是让 JSON 服务返回其输入的副本 - 至少可以说是不令人满意的。