Hooks API 提供了一种在运行时操作的关键节点插入自定义代码的方式。
注意:编辑器中还有一个hooks API,但它还不够成熟,因此目前未提供通用使用文档。
RED.hooks
API
RED.hooks
API注册一个新的钩子处理程序。
hookName
是要为其注册处理程序的钩子名称。
可以选择性地为钩子添加一个标签后缀 - onSend.my-hooks
。
然后可以使用RED.hooks.remove
通过该标签来移除处理程序。
当被调用时,钩子处理程序将接收一个单独的载荷对象作为参数 - 其具体内容将取决于特定钩子的定义。
处理程序可以接受一个可选的第二个参数 - 当处理程序完成工作时调用的回调函数。
当处理程序完成其工作时,它必须执行以下操作之一:
它对payload对象所做的任何修改都将被传递下去。
如果处理程序希望停止事件的进一步处理(例如,它不希望消息传递到流程中的下一个节点),则必须执行以下操作之一:
false
(严格意义上的 false
- 而非类假值)false
调用回调函数false
值的Promise。如果处理程序遇到需要记录的错误,它必须执行以下操作之一:
如果函数定义为双参数版本(接受回调函数),它必须使用该回调——任何返回值都将被忽略。
RED.hooks.add("preDeliver.my-hooks", (sendEvent) => {
console.log(`About to deliver to ${sendEvent.destination.id}`);
});
移除一个钩子处理程序。
只有使用带标签名称注册的处理程序(例如onSend.my-hooks
)才能被移除。
要移除所有带有指定标签的钩子,可以使用*.my-hooks
。
RED.hooks.remove("*.my-hooks");
Node-RED: 面向事件驱动应用的低代码编程平台。
版权所有 OpenJS基金会 及 Node-RED 贡献者。保留所有权利。OpenJS基金会 拥有注册商标并使用商标。有关 OpenJS基金会 的商标列表,请参阅我们的 商标政策 和 商标列表。未在 OpenJS基金会商标列表 中标注的商标™或注册®商标归其各自持有人所有。使用这些商标并不意味着与它们有任何关联或获得其认可。
The OpenJS Foundation | 使用条款 | 隐私政策 | OpenJS基金会章程 | 商标政策 | 商标列表 | Cookie政策