Delayノードを使う(その1)
ここのところずっとNode-REDのサンプルを見ながら各ノードの使い方を確認しています。頭出しの記事はこちらをご確認ください。今回はDelayノードを使ってみます。要はJavaScriptで言うところの「setTimeout()」みたいなものかと思います。
指定した時間メッセージを遅延させる
最初のサンプルは「flows > node-red > function > delay > 01 - Delay message」です。フローを実行すると、delayノードで遅延が発生して、時間差でログが出力されます。
Delayノードのプロパティを見ると、指定した時間(3秒)だけメッセージが遅延するようです。ここは特に解説の必要はないと思います。
msgオブジェクトのプロパティ値により遅延させる
次のサンプルは「flows > node-red > function > delay > 02 - Delay message by message property」です。先程と同じくDelayノードのプロパティを見てみます。ポイントは以下の2点です。
- msg.delay値により遅延時間が決定される
- 「時間」の指定は無視される
まとめ
Delayノードを使うことによりフローを遅延させることができます。以下、2種類の挙動を実現できます。
- Delayノードのプロパティに設定した値で遅延時間を固定する
- msg.delayの値に応じて遅延時間を可変にする
次回もDelayノードを見ていきます。
コメント
コメントを投稿