現在、受信したJSONデータを解析してグラフとして表示する関数を作成しています。 これを行うために、forループを使用してJSONデータをこのような配列に格納しています。NodeRed関数の配列の非同期操作を実行する
var allMsg = [];
async.each (jsonData.dataSet,
function (sensorItem, callback) {
for each item in array .... {
var msg1 = {};
msg1.req = msg.req;
msg1.res = msg.res;
msg1.payload = "some payload";
allMsg.push(msg1);
}
callback();
},
function(err) {
node.send([allMsg];
}
};
return;
}
上記の例では、allMsg [0]である最初の要素のみを送信します。 私は非同期操作を処理するために、msgを返すのではなくnode.sendを行う必要があることを知っていますが、node.sendをどこで実行すべきかは分かりません 誰かが助けることができれば、ありがとう!あなたはeach
他のオプションへcallback
引数として渡す関数を宣言する必要があります与えられた例では
OKこれはmsg1のnode.sendに適していますか? 私はhttp-in - >この関数 - >スイッチ - > 10個のグラフを持っています 私はjoinを使うと、スイッチとチャートの間にjoinを入れてmsgsを組み合わせることができますか? – sonic98
これは、答えの2番目の提案が言うことです – hardillb