我正在执行以下的javascript代码:
var distances = [2,3];
var ids = 0
for (var i=0; i < sub.length; i++) {
url = // some value
dis = distances[i+ids];
jsonGET(url,[],test(data,dis));
}
function test(data,dist) {
return function() {
console.log(dist);
}
}
在for循环中(由于sub.length = 2,迭代2次),调用jsonGET函数,在成功连接到给定url的情况下执行 test 函数。
dis 值传递给jsonGET调用中的测试函数。
逻辑上,console.log(dist)应该显示值2然后3.它实际上在我在return语句之前写入ir时。 但是当我编写console.log(dist)时,如上面的代码所示。我得到了这个非常奇怪的展示
代码每30秒刷新一次,似乎它在(2,3)(这是逻辑结果)和反转的(3,2)之间随机交替。
我被困在这里,需要解释。