Javascript 对多个AJAX请求使用jQuery promise并在success函数中传递参数
我有一个下面的函数Javascript 对多个AJAX请求使用jQuery promise并在success函数中传递参数,javascript,jquery,ajax,coffeescript,Javascript,Jquery,Ajax,Coffeescript,我有一个下面的函数 finalResults = [] promises = [] for i in arr1 for j in arr2 request = $.ajax url:"/getData" data: userId:1 dataType:"JSON" success: (results) => finalResults.push data : results
finalResults = []
promises = []
for i in arr1
for j in arr2
request = $.ajax
url:"/getData"
data:
userId:1
dataType:"JSON"
success: (results) =>
finalResults.push
data : results
index1 : i
index2 : j
promises.push(request)
$.when.apply(null, promises).done( (a) =>
for i in finalResults
console.log(i.index1, i.index2) // these values are incorrect!
)
看起来传递变量i和j没有正确加载到最终结果。我明白原因了,因为这些是异步请求
如何更改此选项以获得与每个AJAX请求相对应的正确变量?看起来这个常见问题不使用全局finalResults变量。正确使用承诺。