Hooks API提供了一种在运行时操作的某些关键点插入自定义代码的方法。
注意:编辑器中也有hooks API,但由于其不够成熟,因此当前没有为一般使用进行文档化。
RED.hooks
API
RED.hooks
API注册一个新的钩子处理程序。
hookName
是要为其注册处理程序的钩子的名称。
它可以选择性地以钩子的标签作为后缀 - onSend.my-hooks
。
该标签可以与RED.hooks.remove
一起使用,以移除处理程序。
调用时,钩子处理程序将使用单个有效载荷对象被调用 - 其详细信息将特定于钩子。
处理程序可以接受一个可选的第二个参数 - 当处理程序完成工作时要调用的回调函数。
当处理程序完成工作时,必须:
它对有效载荷对象所做的任何修改将被传递。
如果处理程序想要停止进一步处理事件(例如,它不希望将消息传递到流中的下一个节点),它必须:
false
(严格为false
- 而不是类似于false的值)false
false
的承诺。如果处理程序遇到需要记录的错误,它必须:
如果一个函数被定义为接受回调函数的两个参数版本,它必须使用该回调 - 它返回的任何值将被忽略。
RED.hooks.add("preDeliver.my-hooks", (sendEvent) => {
console.log(`即将传递给 ${sendEvent.destination.id}`);
});
移除一个钩子处理程序。
只有使用标签名称注册的处理程序(例如onSend.my-hooks
)才可以被移除。
要移除具有给定标签的所有钩子,可以使用*.my-hooks
。
```javascript RED.hooks.remove(“*.my-hooks”);
版权所有 OpenJS Foundation 和 Node-RED 贡献者。保留所有权利。OpenJS Foundation 拥有并使用注册商标。有关 OpenJS Foundation 的商标列表,请参阅我们的 商标政策 和 商标列表。未在 OpenJS Foundation 商标列表 中列出的商标和徽标是其各自持有者的商标™或注册商标®。使用它们并不意味着与它们有任何关联或认可。
OpenJS Foundation | 使用条款 | 隐私政策 | OpenJS Foundation 章程 | 商标政策 | 商标列表 | Cookie 政策