节点红色未检测到空值

时间:2017-11-03 09:23:48

标签: node.js node-red

我正在尝试构建一个流程,通过CANBUS读取传感器数据和传输。有时,null数据即将出现,我的意思是tempIntldrInt可能为空。

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

虽然我可以访问msg.payload.newLightVal并将其设置为任何值,但如果其值为null,则下面的控制语句将失败。

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

1 个答案:

答案 0 :(得分:2)

您确定tempIntldrIntnull而不是undefined。 我认为它们可能是undefined,在这种情况下,在if语句中用===替换==,即

if(msg.payload.newLightVal==null)

编辑:由于msg.payload.newLightVal是NaN,这应该是if子句

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