У меня такой цикл, и он должен вернуться и выйти из цикла, если запрос ajax был успешным, также он должен повторять только 10 раз, но он просто повторяет цикл 10 раз и останавливается тогда когда запрос был успешным.Цикл повтора Coffeescript не работает
retryCount = 0
while (retryCount < 10)
$.ajax
type: "GET"
url: "http://" + proxyURL + "?"
dataType: "jsonp"
data:
url:
url + "?" + method + "&" + $.param
parameters: JSON.stringify parameters
success: (response) ->
data = response
console.log "----------"
console.log "METHOD: " + method
console.log parameters
console.log data
console.log "----------"
if data.contents.fault
if data.contents.fault.code is 256
console.log "fetching new token (" + retryCount + ")"
fetchNewToken ->
return callback(data.contents.result)
else
console.log "ERROR: " + $.trim(data.contents.fault.message)
if data.contents.result
if data.contents.result instanceof Array
if data.contents.result.length > 0
return callback(data.contents.result)
else
return callback(data.contents.result)
else
console.log "retrying " + method + " (" + retryCount + ")"
retryCount++
Это асинхронный **, поэтому вы не можете использовать цикл while. Обратите внимание, что 'success' - это функция обратного вызова *, которая легко теряется в coffescript – Bergi
То же самое происходит со мной при установке async: false в запросе ajax. Что было бы альтернативным путем, чтобы решить эту проблему? – Marius