我正在尝试将参数传递给异步节点模块所需的迭代器函数。
async.forEach dbReply, mediaHandler(entry, event.folder, callback), (error) ->
console.log error
mediaHandler = (entry, folder, callback) ->
console.log arguments
我经常得到ReferenceError:未定义条目
关于如何将event.folder参数传递给函数的任何线索?
答案 0 :(得分:0)
听起来您希望mediaHandler
函数返回迭代器函数:
mediaHandler = (folder, callback) ->
(entry) ->
# Do things with folder, callback, and entry.
# folder and callback are available through the closure,
# entry is supplied by forEach.
然后:
async.forEach dbReply, mediaHandler(event.folder, callback), (error) -> ...
entry
参数在调用迭代器时由forEach
提供,但当您调用async.forEach
时,其他两个参数(可能)可用,因此您正在尝试咖喱一个三个参数mediaHandler
来获得forEach
可以处理的一个参数函数;还有其他方法可以在(Coffee | Java)脚本中执行此操作,但使用闭包手动执行可能是最简单的。