【发布时间】:2023-03-27 15:49:01
【问题描述】:
我有这样的简单课程:
module.exports = class MyClass {
function middleware() {
console.log('call me before')
}
function a() {
}
function b() {
}
function c() {
}
}
所以想法是,当有人调用函数 a、b、c 时,我想在执行 a、b、c 之前调用中间件。我该怎么做?
所以,我可以将 middleware() 放到每个函数中,但我想要一些动态的方式来做到这一点。
【问题讨论】:
-
如果你调用函数a(),你什么也做不了,它只会执行a。
-
我相信有办法。
-
也许你在这个答案stackoverflow.com/questions/5033836/… 中找到了一些东西
-
如果您愿意使用 ESNext 的反向移植功能,您可以随时使用decorators。 Babel 有一个this 的插件。
-
看看AOP(面向方面编程),它可以解决这样的问题。 javascript 中的一个实现:blog.bitsrc.io/…
标签: javascript