【发布时间】:2014-06-03 04:07:03
【问题描述】:
我有一个 RPC 库,要移植到 coffeescript。它必须做的一件事是重新排序函数调用参数以确保它们的顺序正确。为此,我编写了一个“数组理解”,如下所示:
argValues = for param in paramNames
if param of args
args[param]
else if param isnt 'cb'
throw new Error "Missing argument for paramater '#{param}' of procedure '#{func}'"
argValues[-1..-1] = cb
所有远程过程都使用“cb”参数通过回调提供结果。这需要被理解跳过,因为客户端不提供此回调(服务器这样做是为了可以对结果进行编码和写入以返回给客户端)。我的问题是理解为此输入了值“未定义”,因此我必须使用笨拙的[-1..-1] 语法将未定义替换为我的回调。我宁愿跳过它并致电argValues.push cb。
有没有办法让理解跳过这样的值?
【问题讨论】:
标签: javascript node.js coffeescript for-comprehension