Functionノードを使う(その1)
今回はFunctionノードを使ってみます。ローコードプログラミング環境のNode-REDをハイコード化する本末転倒感が漂っていますが、JavaScriptを書ける人であればむしろこっちの方が学習コストが低くて使い勝手が良いのではないかと思います。何でもできる分、奥が深くてサンプルもたくさん提供されています。少々時間はかかりますが、一個ずつ見ていきたいと思います。
msgの加工
最初のサンプルは「flows > node-red > function > function > 01 - Send message to output port」です。
functionノードのプロパティは以下のような感じです。
- 暗黙的に入力値としてmsgオブジェクトを受け取っている
- msg.payloadの値を加工している
- returnしたmsgオブジェクトが次のノードに渡される
複数msgの出力
次のサンプルは「flows > node-red > function > function > 02 - Send multiple messages」です。functionノードから出力が2つ出ています。
プロパティを確認すると、配列がネストしており、それぞれがpayloadプロパティをもっています。
出力数の指定は「設定」タブでできるようです。
デプロイして実行するとログが4件出力されます。「〜out of output 1」は1つ目の出力から出た内容です。debugノードが受け取ったmsg1〜msg3を含む配列内のmsg.payloadを出力しているということでしょうか。ログが2件で前者が配列で出力されるのであれば直感的に理解できそうですが、ちょっと謎な動きです。
とりあえずまとめ
まだまだサンプルはたくさんあるので続きます。
コメント
コメントを投稿