2017-11-03 2 views
0

Ich versuche einen Fluss zu erstellen, der Sensordaten und Transfers von CANBUS liest. Manchmal, null Daten kommen, was ich meine ist tempInt oder ldrInt könnte null sein.Node-rot erkennt keinen Nullwert

var msg2 = { 
    payload: 
     { 
      "$class": "org.acme.testnetwork.UpdateSensorData", 
      "sampDevice": "houseMehmet", 
      "newTempVal": tempInt, 
      "newLightVal": ldrInt, 
      "timeStamp": Date().toString() 
     } 
    }; 

Obwohl ich msg.payload.newLightVal und es auf einem beliebigen Wert zugreifen kann, in dem Fall, dass der Wert null ist, wie die Steueranweisung unten ausfällt.

if(msg.payload.newLightVal===null){ 
    msg.payload.newLightVal = -1 ; 
} 

Antwort

2

Sind Sie sicher, dass tempInt und ldrInt sind null und nicht undefined. ich glaube, sie undefined in sein können, dem Fall ersetzen === mit == in der if-Anweisung dh

if(msg.payload.newLightVal==null) 

Edit: Da die msg.payload.newLightVal NaN ist, das ist die if-Klausel

if(msg.payload.newLightVal==null || isNaN(msg.payload.newLightVal)) 
+0

sein sollte Ich nehme an, du hast Recht und schreibst ein Stück wie unten geschrieben: if (msg.payload.newLightVal == null || msg.payload.newLightVal === null) { msg.payload.newLightVal = -1; } Noch funktioniert es nicht –

+0

Der Teil nach dem || ist sowieso nicht nötig. Bitte machen Sie ein anderes für die if-Bedingung und trösten Sie die msg.payload und lassen Sie mich wissen if (msg.payload.newLightVal == null) { msg.payload.newLightVal = -1; } sonst { console.log (msg.payload); } – UchihaItachi

+0

'$ class': 'org.acme.testnetwork.UpdateSensorData', sampDevice: 'houseMehmet', newTempVal: 23.92, newLightVal: NaN, Datenstand: ‚Fr 3. November 2017 14.58.55 GMT + 0300 (+03) '} –

Verwandte Themen