Я знаю, что я собираюсь отправить это, а затем заставить его работать, не говоря уже название, но ...Использование async.js Выполнение асинхронных действия В Loop
Я нахожусь в ситуации, когда мне нужно для выполнения некоторого асинхронного кода каждому элементу в массиве, который мне предоставлен, а затем выполните некоторые проверки после того, как все они закончили. Обычно, если я буду использовать async.js здесь, однако то, как я это делаю, не получает моих результатов, которые я хочу.
Итак, это моя логика, я полагаю, что могу создать массив функций, однако, как я делаю это, похоже, async.js возвращает мне список функций в результате.
findLeadThatCanBeTaken : (leads, user, manualTake, cb) =>
if(leads.length == 0) then return cb(null, null)
funcArr = []
self = this
for lead in leads
fun = (callback) ->
console.log(lead.state)
State.get lead.state, (e, state) ->
if !state or state.canBeCalled(self.currentTime())
return callback(null, lead._id.toString)
return callback(null, null)
funcArr.push(fun)
async.parallel funcArr, (e, r) ->
if (e)
return cb(message:'No leads can be called at the current time', null)
id = _.compact(r)
id = r[0] if r.length
if (!id || !id.length)
return cb(message:'No leads can be called at the current time', null)
lead = _.filter leads, (l) -> return l._id.toString() == id
# Code handling
@takeLead(lead, user, cb)
Я 90% уверен, что вопрос этот массив я создаю не быть назначен, как я думаю, что это, но я не уверен. Кто-нибудь знает, что я здесь делаю неправильно?
Извините за столь долго, я играл с использованием 'делать()', но это WASN» т работы. В конце концов, именно так я подталкивал функцию к этому массиву, в то время я использовал что-то другое, чем выше. В конце концов, это была проблема! –