gpt4 book ai didi

javascript - 如何为 JavaScript 箭头函数创建记录器?

转载 作者:行者123 更新时间:2023-11-28 17:51:47 25 4
gpt4 key购买 nike

有没有办法实现一个记录器函数,可以拦截箭头函数,如下例所示?我

原始代码:

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)
}
}

我希望在这两种情况下主执行时获得相同的效果,而不必编辑箭头功能。

最佳答案

这就是你想要的吗?

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();

关于javascript - 如何为 JavaScript 箭头函数创建记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45374536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com