【发布时间】:2015-08-30 18:06:56
【问题描述】:
在使用 bluebird 对特定函数执行 promisify 之后 - 是否可以获得对已承诺的原始函数的引用?
为什么:我正在使用从函数中获取参数名称的帮助程序,并且在它返回 (_arg0, _arg1, _arg2) 的承诺函数上,我希望可以从某个地方获取原始函数签名。
【问题讨论】:
-
这可能会有所帮助......函数的承诺版本的名称获取后缀“异步”。把它去掉,你就会回到原来的名字。在任何函数内部,函数本身都是
arguments.callee,它的名字是arguments.callee.name。 -
为什么不在承诺之前将原始函数保存到自己的变量中?如果您在此处向我们展示了整个问题的上下文,我们可能会有更多选择。或者,您可以将原件附加为承诺者的财产。
-
无论如何,您的代码都不应该依赖于函数签名甚至是代码中的参数名称。你到底在用它做什么?