在java,ruby和许多其他语言中,我们具有在执行方法之前/之后调用函数的功能,这些功能主要由所使用的框架给出。甚至Jasmine(单元测试库)也有方法beforeEach
(在每个it
块之前执行给定的块)。
有没有办法在Angularjs / javascript中执行此操作,以便可以在调用任何类或工厂方法之前执行它?
答案 0 :(得分:0)
您可以将函数包装在一个新函数中,以便在执行之前和之后执行一些常见操作,请参阅以下代码段:
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");

我希望它可以帮助你,再见。