javascript - 有没有办法在所有类/对象函数上设置事件,监听器将在其中接收函数名称和参数?

标签 javascript node.js event-handling dom-events

有没有办法在所有类/对象函数上设置事件,监听器将在其中接收函数名称和参数?

我希望能够在调用属于该常规对象或类的函数时随时运行某些功能。

这样做的目的(我可能会走一条复杂的道路)是为函数分配对象级缓存。假设我有一个调用 Node.js Sequelize 方法的服务函数,例如,我想将其缓存 x 分钟。因此,上面的监听器将使用 ttl 写入 Redis,并在调用该函数时检查 Redis。

我使用 Scala 完成了此操作,没有样板代码,使用注释来表示该无聊集的任何方法和宏的 ttl,并访问 redis。不知道如何使用 Javascript/nodejs 来实现这一点。

如果这是一个不合适的堆栈溢出问题,请提前抱歉,但任何一般性指导都会有所帮助。

最佳答案

使用 JavaScript 执行此操作的现代方法是通过代理对象。以下是文档中对它们的描述:

The Proxy object is used to define custom behavior for fundamental operations (e.g. property lookup, assignment, enumeration, function invocation, etc).

这里:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy

关于javascript - 有没有办法在所有类/对象函数上设置事件,监听器将在其中接收函数名称和参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53384831/

相关文章:

node.js - 如何在 Mongoose 中将对象字段作为数组获取?

node.js - 在哪里可以找到 Node 替换变量的查找列表?

javascript - 如何异步加载 webpack 包,但按顺序执行?

javascript - 从带有参数的链接提交表单

javascript - JSON.stringify(objExtraParam) 给出错误的日期

javascript - Firebase 处理多个自定义声明

java - 为什么InputMap方法不直接将击键对象映射到 Action 对象?

Stringify 删除了具有 Symbol 属性的 JavaScript 对象

events - 使用fabric8 API在kubernetes集群上建立events()监视的结果是JsonMappingException:找不到kind:Event的资源类型

sharepoint - 以编程方式注册 Sharepoint 2007 事件处理程序