0
Рассмотрим этот надуманный примерСледите запросов-ответов обожженных в цикле
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
"порядка, верно?
Отправить уникальный «ключ» случайным образом наряду с запросом, используйте это для ключа в массиве соотв. Попросите, чтобы обратный процесс отправил этот ключ обратно с ответом, чтобы сохранить данные ответа в соответствующей паре ключ/значение. – Drew
@Drew, это может быть разумным вариантом, если у вас есть доступ к внутреннему коду, но что, если вы этого не сделаете? Я думаю, что должен быть способ сделать это только на стороне интерфейса, но у меня заканчиваются идеи. – evfwcqcg
Я не знаю coffeescript, но в простом JS вы можете сделать 'url' правильным в обработчике' success', завернув вызов в сразу вызываемую функцию и передав текущий url in - например, в [этот ответ] (http://stackoverflow.com/a/19324832/791010) - возможно ли это в coffeescript? –