跟踪循环中触发的请求-响应

Keep track of requests-responses fired in a loop

本文关键字:请求 响应 循环 跟踪      更新时间:2023-09-26

考虑这个人为的例子

reqs = for url in urls
  $.ajax
    url: url
    successs: (resp) =>
      # here, url is always the last url, 
      # apparently because closure doesn't copy the captured locals
      console.log "response for url: #{url}"

在成功案例中确定哪个 url 属于哪个请求的最佳方法是什么?

后来,有一个电话

$.when(reqs...).then (resps...) =>
  console.log(resps)

不过,现在要知道,因为resps的顺序可能与reqs顺序不同,对吧?

感谢詹姆斯的评论,解决方案是

reqs = for url in urls
  success_fn = (url) =>
    (resp) =>
      console.log "response for url: #{url}"
      console.log resp
  $.ajax
    url: url
    successs: success_fn(url)