2017-07-28 3 views
0

例のように矢印の機能を傍受できるロガー機能を実装する方法はありますか? Ijavascript arrow関数のロガーを作成するにはどうすればいいですか?

元のコード:

const arrowFunctionExample = (value)=> { 
    console.log('arrowFunctionExample',value) 
} 

function main(){ 
    arrowFunctionExample('testing') 
} 

新しいコード:

const arrowFunctionExample = (value)=> { 
    console.log('arrowFunctionExample',value) 
} 

function main(){ 
    logger(arrowFunctionExample('testing')) 
} 

//something like this 
const logger = (fn) => { 
    console.log('logger',fn) 
    if(typeof fn === 'function'){ 
     fn(value) 
    } 
} 

私は時にメインの矢印の機能を編集することなく、どちらの場合も、実行、同じ効果を取得したいです。

+2

。 – lilezek

+0

'value'はあなたの' logger'で定義されていません – Bergi

+0

ロガー機能の有無にかかわらず同じ効果を得たいのであれば、どうしてそれを追加するのですか?あなたはロガー機能からどのような効果を得たいですか? – Bergi

答えて

1

これはあなたが望むものですか?私の知る限りでは、(メイン `のconst)` `あなたはmain`の関数を宣言する方法ではありません

function logger(fn){ 
 
    return function(){ 
 
     console.log("log:", fn.name, arguments); 
 
     return fn.apply(this, arguments); 
 
    } 
 
} 
 

 
const arrowFunctionExample = (value)=> { 
 
    console.log("do something with", value); 
 
}; 
 

 
function main(){ 
 
    logger(arrowFunctionExample)('testing') 
 
} 
 

 
main();

関連する問題