Bluebird:获取对承诺的原始功能的引用

Bluebird: Get reference to original function that was promisified

在使用 bluebird 对特定函数执行 promisify 之后 - 是否可以获得对被承诺的原始函数的引用?

原因:我正在使用一个助手,它从函数中获取参数名称,并在它返回的承诺函数上返回 (_arg0, _arg1, _arg2),我希望可以从某个地方获取原始函数签名。

不,你可以解决它。

如果它是用 promisifyAll 承诺的,你可以在没有 Async 后缀的情况下访问它 - 否则,你必须自己做:

var promisified = Promise.promisify(cbFunction);
promisified.original = cbFunction;

// access as promisified.cbFunction from that point on.

否则,原始函数是通过闭包捕获的,您无法可靠地访问它。老实说,您可能不应该这样做,因为无论如何都会干扰缩小。