Joinノードを使う(その3)
ここのところずっとNode-REDのサンプルを見ながら各ノードの使い方を確認しています。頭出しの記事はこちらをご確認ください。今回はJoinノードの3回目です。
確認するサンプルは、前回に引き続き「読み込み > サンプル > flows > node-red > sequence > join > 02 - Manual join mode」です。
msg.completeを使って結合する
3段目のフローから見ていきます。ざっくりとした流れは以下のとおりです。
- Templateノードで「msg.payload」に改行区切りの文字列を指定する
- Splitノードでmsg.payloadの文字列を改行で区切って複数のメッセージに分離する
- Functionノードでは、受信したメッセージが特定の条件を満たしていた場合に「msg.complete」に「true」を指定する
- 条件:msg.payloadにBananaまたはKiwiが指定されていたら
- Joinノードでは、受信したメッセージのmsg.completeプロパティが設定されていたらメッセージを送信する(それまでに受信したメッセージはカンマで区切って文字列結合する)
Templateノード |
Joinノード |
実行すると、msg.completeプロパティが指定されるまでに受信したメッセージが結合されたログが出力されます。
メッセージを結合して配列にする
ここまでは結合した値が文字列でしたが、4段目のフローでは配列にします。TemplateノードとSplitノードは上述のサンプルと同じなので省略します。ポイントはJoinノードの出力が「配列」に設定されている点です。
コメント
コメントを投稿