2016-06-28 1 views
0

私は次の例のNode-REDノードコードを持っていますが、私は "hi"を取得しようとしています。ノードの赤でif文を使った後に何も表示されませんか?

私は年齢の価値を得ることができましたが、アプリケーションを配備すると、if文について何も表示されません。ここで

var data= { 
    "age" : "24",  

    "hometown" : {"country": "USA", 
        "City": "Missoula, MT"},               
    "gender" : "male" 
}; 
node.send({payload:data.hometown.country}); 
node.send({payload:data.hometown.City}); 
node.send({payload:data}); 
var s =({payload:data.age}); 
node.send(s); 
if (s == '24'){ 
    node.send("hi"); 
} 

結果

6/28/2016, 9:55:17 AM8ae7211a.e3f0b msg.payload : string [3] USA 
6/28/2016, 9:55:17 AM8ae7211a.e3f0b msg.payload : string [12] Missoula, MT 
6/28/2016, 9:55:17 AM8ae7211a.e3f0b msg.payload : Object { "age": "24", "hometown": { "country": "USA", "City": "Missoula, MT" }, "gender": "male" } 
6/28/2016, 9:55:17 AM8ae7211a.e3f0b msg.payload : string [2] 24 

である私はdata.hometown.country、都市、年齢の値を見ることができますが、私の文では動作しない場合。

+0

あなたは "ノード赤" とは何を意味するのですか? –

+0

IBMが開発した視覚的な編集ツールで、IoTアプリケーションとnode.jsに基づいています –

+0

これは単純な.jsです。コンソールがエラーや値を教えてくれないため、ifステートメントから価値が得られることを知りたいだけです。 –

答えて

0

ノードREDノードでは、生の文字列"hi"だけを送信することはできません。ペイロードフィールドを含むメッセージオブジェクトにラップする必要があります。

... 
if (s == '24'){ 
    node.send({payload:"hi"}); 
} 
... 
+0

VARデータ= { "年齢":24 ''、 "故郷":{ "国": "USA"、 "市": "ミズーラ、MT"}、 "性別": "男性" }; node.send({payload:data.hometown.country}); node.send({payload:data.hometown.City}); node.send({payload:data}); var s =({ペイロード:data.age}); node.send(s); if(s == '24'){ node.send({payload: "hi"}); }このコードの後も、私は同じ結果を得ています。 –

+0

コメントにコードを投稿しないでください。読みにくい – hardillb

0

このコードは動作します:

var data= { 
    "age" : 24,  

    "hometown" : {"country": "USA", 
        "City": "Missoula, MT"},               
    "gender" : "male" 
}; 

    node.send({payload:data.hometown.country}); 
    node.send({payload:data.hometown.City}); 
    node.send({payload:data}); 
    var s =({payload:data.age}); 
    node.send(s); 
    if (s.payload === 24){ 
     node.send({payload:"hi"}); 
    } 
関連する問題