【发布时间】:2013-05-14 05:30:31
【问题描述】:
我的 nodejs/express 服务器类中的一个函数有一个小问题。
我有以下功能:
@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 毫秒,而异步函数是相同的。我猜咖啡脚本的每个函数都做得很好。
更新:经过进一步测试,我发现该函数使用异步时速度较慢。真的很奇怪。
【问题讨论】:
标签: javascript node.js express coffeescript