在使用bluebird对特定函数执行promisify
之后,是否可以获得对已宣告的原始函数的引用?
为什么:我使用一个帮助器从函数中获取参数名称,并在它返回(_arg0, _arg1, _arg2)
的promisified函数上,我希望可以从某个地方获取原始函数签名。
答案 0 :(得分:1)
不,你可以解决它。
如果使用promisifyAll
进行宣传,您可以在没有Async
后缀的情况下访问它 - 否则,您必须自己执行此操作:
var promisified = Promise.promisify(cbFunction);
promisified.original = cbFunction;
// access as promisified.cbFunction from that point on.
否则,通过闭包捕获原始函数,您无法可靠地访问它。老实说,你可能不应该这样,因为无论如何都要干涉缩小。