У меня небольшая проблема с функцией в классе моего узла nodejs/express.Как преобразовать функцию в функцию async.each
У меня есть следующие функции:
@resolveServers = (url, servers, resolved) ->
result = []
treatServer(url, server, (serverObject) ->
result.push serverObject
resolved result if result.length is servers.length
) for server in servers
И поскольку функция лакомство сервер может принять дикий, и, как намекнул на эту question мой, я рассматривал, используя async каждый для этого.
Так что я здесь:
@resolveServers = (url, servers, resolved) ->
result = []
async.each(servers, treatServer(url, server, (serverObject) ->
result.push serverObject
resolved result if result.length is servers.length
), (err) ->
if err
console.log next err
)
И я в настоящее время получаю следующее сообщение об ошибке:
ReferenceError: server is not defined
Функция treatServer нуждается в URL-адрес и сервер для массива серверов. Но я не знаю, как получить этот экземпляр сервера для каждого из них и передать его функции treatServer.
Любая идея о том, что я делаю неправильно?
Спасибо.
Обновление: Я немного разочарован, так как у меня нет никакой выгоды при использовании async. Используемая функция занимает приблизительно 6500 мс, а асинхронная - одна и та же. Я думаю, каждая функция из coffeescript действительно хорошо работает.
Обновление: После дополнительных испытаний я выясню, что функция работает медленнее с асинхронным использованием. Действительно странно.