繰り返し(for/while)

私の認識ではノード単体では、いわゆる繰り返し処理というのはない為、自ら変数値をもってループさせる方法をとっています。私がしていた具体的な方法について掲載します。

  • ループ構成

functionノードにて、カウンタ用の変数を定義(initCnt)し、switchノードにて最大件数以下の場合はfunctionノード(loopCnt)を行うようにします。loopCntノードにてカウンタをアップし、完了すると、debugノード(loopEnd)が呼ばれます。特徴として、以下のように8の字に線がなります。

  • function(initCnt)ノード

特定のmsg.payloadのJSONオブジェクトを、一旦JSON文字にし再度parseしてJSON化することで、参照渡しではなく値渡しとなるようにしています。正しい方法は、changeノードを使って、別オブジェクトに値を移すのがよいのですが、functionノードで端的に行う場合にはこうしています。

  • switch(loopSwitch)ノード

カウンタのmsg.temp.iが、最大数のmsg.temp.cntとなるまで、処理分岐します。

  • function(loopCnt)ノード

カウンタのmsg.temp.iを1加算しています。

※繰り返し処理にかかわらず、結局は、ノードの組み合わせで自由になんでもできますので、使いやすいノードを使い、使い方が難しいものは、functionノードで自力でJava Scriptを使って制御しています。