使用jQuery承诺多个AJAX请求并在success函数中传递参数

时间:2014-02-10 23:29:40

标签: 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
          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”似乎没有正确加载到finalResults。我明白为什么,因为这些是异步请求。

如何更改此选项以获取与每个AJAX请求相对应的正确变量?

0 个答案:

没有答案