gpt4 book ai didi

javascript - 有没有办法在 Angularjs/javascript 中执行工厂/类的每个方法之前/之后调用函数

转载 作者:行者123 更新时间:2023-11-28 05:36:55 24 4
gpt4 key购买 nike

在 java、ruby 和许多其他语言中,我们具有在执行方法之前/之后调用函数的功能,大多数这些功能是由所使用的框架提供的。甚至 Jasmine(单元测试库)也有方法 beforeEach(在每个 it block 之前执行给定的 block )。

有没有办法在 Angularjs/javascript 中做到这一点,以便可以在调用类或工厂的任何方法之前执行它?

最佳答案

您可以将函数包装在一个新函数中,以便在其执行之前和之后执行一些常见操作,请参阅以下代码片段:

var wrappedFunction = function(fn) {
return function(){
console.log("Before execute " + fn.name);
var retValue = fn.apply(this, arguments);
console.log("After execute " + fn.name);
return retValue;
};
};

function funcTest1(par) {
console.log("funcTest1 -> Par is: " + par);
};

function funcTest2(param) {
console.log("funcTest2 -> Param value is: " + param);
};

var funcTest1Wrapped = wrappedFunction(funcTest1);
var funcTest2Wrapped = wrappedFunction(funcTest2);

funcTest1Wrapped("Test1");
funcTest2Wrapped("Test2");

希望对你有帮助,再见。

关于javascript - 有没有办法在 Angularjs/javascript 中执行工厂/类的每个方法之前/之后调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39290198/

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