我需要在每次执行函数之前和之后调用特定函数
例如 我有这些功能
function a() {
// logic
}
function b() {
// logic
}
function c() {
// logic
}
我现在正在做什么
function a(){
c();
// logic
c();
}
function b(){
c();
// logic
c();
}
是否有更好的方法可以在春季完成类似建议的操作
答案 0 :(得分:2)
您可以像这样定义“高阶”辅助函数:
function wrapWith(baseFunc, otherFunc) {
function wrapper() {
otherFunc();
baseFunc();
otherFunc();
}
return wrapper;
}
然后只需定义a = wrapWith(a, c)
,b = wrapWith(b, c)
等(如果您有时需要使用“解包的” a
和b
,只需将包装的版本分配给new变量而不是覆盖a
和b
。)
答案 1 :(得分:0)
您可以尝试创建一个包装器函数,该函数接受这两个函数作为参数并按所需顺序执行。
const wrapper = (logic, advice)=>{
advice();
let log = logic()
advice()
return log
}
然后将其命名为
wrapper(a,c)
wrapper (b,c);