我之前从未使用过回调函数,所以我可能犯了一个完全愚蠢的错误.我想我有点理解这里的问题,但不知道如何解决它.
我的代码(稍微简化)是:
for (var i = 0; i < some_array.length; i++) {
var title = some_array[i];
$.getJSON('some.url/' + title, function(data) {
do_something_with_data(data, i);
}
Run Code Online (Sandbox Code Playgroud)
据我所知,只有getJSON()收到数据时才会调用此匿名函数.但到目前为止,i没有我需要的价值.或者,就我的观察而言,它具有循环完成后它将具有的最后一个值(不应该超出界限吗?).
因此,如果数组的大小为6,do_something_with_data()则将使用值5调用五次.
现在我想,只是传递i给匿名函数
function(data, i) { }
Run Code Online (Sandbox Code Playgroud)
但这似乎不可能.我现在不确定.