获取Node.js中正在执行的当前函数的名称

时间:2013-08-09 18:14:29

标签: javascript node.js

在Node.js中,我正在尝试获取正在执行的当前函数的名称:

function doSomething(req, res) {
  console.log('Function name: ' + doSomething.name);
}

这很有效,但我希望(如果可能的话)在当前上下文中获取名称。这样,如果我稍后重命名该方法,我没有手动更改它。是否有一个通用对象(即类似于'this')指向正在执行的当前函数/当前上下文?谢谢。

2 个答案:

答案 0 :(得分:0)

我不想在Ian的“可能的重复”建议中重复这些答案,但除了它们之外还有一个值得一提的解决方案:

您可以使用命名函数表达式,使用一个名称,可以从函数外部访问,也可以从内部访问一个名称:

var x = function y() {
    console.log(y);
};

console.log(x);

现在,如果您决定为您的函数指定其他名称,则只需更改x,同时仍然可以使用y来引用该函数。

答案 1 :(得分:0)

简短回答:SQL Agent jobObject.values(this)[0].name

第一个选项的长答案:

arguments.callee.name将对象属性枚举为数组

let myInstanceArray = Object.values(this)获取数组中的第一个也是唯一的项

let myInstance = myInstanceArray[0]获取项目的名称。

相关问题