`for循环中的`jQuery.getJSON()`函数

时间:2015-08-25 19:28:03

标签: javascript jquery ajax loops

我有以下代码,它返回h=30而不是循环中的每个值。

for (var h = 0; h < 31; h++) {
  $.getJSON('http://google.com/',
    function(data) {
      console.log('line ' + h);
    }
  )
};

我需要做什么才能获得循环值?

1 个答案:

答案 0 :(得分:1)

使用IIFE

进行关闭
for (var h = 0; h < 31; h++) {
    (function(h) {
        $.getJSON('http://google.com/', function(data) {......
            console.log('line ' + h);
        })
    })(h)
};

这样,h的值将保留用于该迭代,而不是在被调回getJSON时被设置为最后一个值