[英]Call a particular function before and after each function execution
我需要在每個函數執行之前和之后調用一個特定的函數
例如我有這些功能
function a() {
// logic
}
function b() {
// logic
}
function c() {
// logic
}
我現在正在做的是
function a(){
c();
// logic
c();
}
function b(){
c();
// logic
c();
}
有沒有更好的方法來做這件事,比如 Spring 中的建議
您可以像這樣定義一個“高階”輔助函數:
function wrapWith(baseFunc, otherFunc) {
function wrapper() {
otherFunc();
baseFunc();
otherFunc();
}
return wrapper;
}
然后只需定義a = wrapWith(a, c)
、 b = wrapWith(b, c)
等(如果您有時需要“解包” a
和b
,只需將包裝的版本分配給新變量而不是覆蓋a
和b
.)
您可以嘗試創建一個包裝函數,它接受這兩個函數作為參數並按您想要的順序執行。
const wrapper = (logic, advice)=>{
advice();
let log = logic()
advice()
return log
}
然后稱之為
wrapper(a,c)
wrapper (b,c);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.