触发器 (trigger)
当接收到消息时发送消息,可选择性地延迟发送第二条消息。
输入
任何消息对象。
输出
一个或两个消息对象。
详细说明
触发器节点在接收到消息时立即发送第一条消息,然后可以选择在延迟后发送第二条消息。
工作模式
- 发送然后等待: 立即发送第一条消息,延迟后发送第二条消息
- 等待然后发送: 延迟后发送消息
- 发送然后发送: 立即发送第一条消息,延迟后发送第二条消息
重置选项
- 自动重置: 在延迟期间收到新消息时重置计时器
- 手动重置: 通过特定消息重置
- 扩展延迟: 每次收到消息时延长延迟时间
示例
基本触发器:
javascript
// 配置:立即发送"开始",5秒后发送"结束"
// 输入
msg = {payload: "触发"}
// 立即输出
msg = {payload: "开始"}
// 5秒后输出
msg = {payload: "结束"}
重置功能:
javascript
// 配置:5秒延迟,支持重置
// 第1秒:输入消息1 -> 立即输出,开始5秒计时
// 第3秒:输入消息2 -> 重置计时器,重新开始5秒计时
// 第8秒:输出第二条消息
条件触发:
javascript
// 配置:只有payload为"start"时才触发
// 输入
msg = {payload: "start"} // 触发
msg = {payload: "other"} // 不触发
应用场景
- 按钮防抖动
- 超时检测
- 状态切换
- 定时操作
注意事项
- 重新部署会清除等待中的计时器
- 每个触发器节点只能有一个活动的计时器
- 重置消息不会产生输出