记录功能名称而不输出其内容

时间:2018-11-17 18:19:45

标签: javascript

这是我的代码的简化版本:

function caller( _func_to_call , param){

       console.log( ` @@@>  CALLING  ${_func_to_call.toString()} `); 
       _func_to_call(param);
}

在这一行:

 console.log( ` @@@>  CALLING  ${_func_to_call.toString()} `); 

我想输出将要调用的函数的名称,但是它会记录所有带有其内容的函数,如下所示:

 @@@>  CALLING  async function start_transaction(transaction){

    update_transaction_date(transaction);

    var tab_id = `transaction-${transaction.id}`;
    console.log(`----> START TRANSACTION ${tab_id}`);
    ...

如何获取仅输出start_transaction的信息?

3 个答案:

答案 0 :(得分:4)

看看Function.prototype.name。您可以像这样使用它:

console.log(` @@@>  CALLING  ${_func_to_call.name} `); 

现在,由于您始终记录相同的函数名称,因此没有太大意义,但是通常您可以使用.name属性记录任何函数名称。这是一个示例:

function logFuncName(func) {
    console.log(func.name);
}

logFuncName(function foo() {});

输出:

foo

答案 1 :(得分:3)

要获取函数的名称,您必须获取In [46]: data = np.loadtxt('Gain_Loss_test.csv') In [47]: data.shape Out[47]: (300,) 属性,因此对于您的情况为name

Function.prototype.name

答案 2 :(得分:0)

有一个名为name的函数属性。 _func_to_call.name