节点红色未检测到空值
Node-red not detecting null value
我正在尝试构建一个流程,它读取传感器数据并通过 CANBUS 进行传输。有时,null
数据即将到来,我的意思是 tempInt
或 ldrInt
可能为空。
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 ;
}
您确定 tempInt
和 ldrInt
是 null
而不是 undefined
吗?
我认为它们可能是 undefined
,在这种情况下,在 if 语句中将 ===
替换为 ==
即
if(msg.payload.newLightVal==null)
编辑:由于 msg.payload.newLightVal 是 NaN ,这应该是 if 子句
if(msg.payload.newLightVal==null || isNaN(msg.payload.newLightVal))
我正在尝试构建一个流程,它读取传感器数据并通过 CANBUS 进行传输。有时,null
数据即将到来,我的意思是 tempInt
或 ldrInt
可能为空。
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 ;
}
您确定 tempInt
和 ldrInt
是 null
而不是 undefined
吗?
我认为它们可能是 undefined
,在这种情况下,在 if 语句中将 ===
替换为 ==
即
if(msg.payload.newLightVal==null)
编辑:由于 msg.payload.newLightVal 是 NaN ,这应该是 if 子句
if(msg.payload.newLightVal==null || isNaN(msg.payload.newLightVal))