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