节点红色未检测到空值

Node-red not detecting null value

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

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

虽然我可以访问msg.payload.newLightVal并将其设置为任意值,但在其值为空的情况下,下面的控制语句将失败。

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

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

if(msg.payload.newLightVal==null)

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

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