所以我只是要掌握节点红色,我需要创建一个条件全局函数。节点红 - 需要一个数字值的多输入功能
我设置的数值两个独立global.payloads 0或1
我需要的是现在的情况发生,如果global.payload为值1什么然后按照这个流程,如果等于值0,然后按照这个。
我只是对函数语句的语法有点困惑。任何帮助感激地赞赏。
所以我只是要掌握节点红色,我需要创建一个条件全局函数。节点红 - 需要一个数字值的多输入功能
我设置的数值两个独立global.payloads 0或1
我需要的是现在的情况发生,如果global.payload为值1什么然后按照这个流程,如果等于值0,然后按照这个。
我只是对函数语句的语法有点困惑。任何帮助感激地赞赏。
既然你不接受目前的答案,以为我会试试这个。 我认为这是你需要处理来自两个独立的全球背景的输入。我在这里模拟他们有两个单独的inject
节点证明:
的checkconf
inject
节点发出1或0同为meshstatus
节点。用您的真实输入替换这些注入节点。真正的工作是在函数内部完成:
var c = context.get('c') || 0; // initialize variables
var m = context.get('m') || 0;
if (msg.topic == "checkconf") // update context based on topic of input
{
c = {payload: msg.payload};
context.set("c", c); // save last value in local context
}
if (msg.topic == 'meshstatus') // same here
{
m = {payload: msg.payload};
context.set('m', m); // save last value in local context
}
// now do the test to see if both inputs are triggered...
if (m.payload == 1) // check last value of meshstatus first
{
if (c.payload == 1) // now check last value of checkconf
return {topic:'value', payload: "YES"};
}
else
return {topic:'value', payload: "NO"};
一定要设置的不管你作为输入,所以if
语句可以在两个输入区分使用的“主题”属性。祝你好运!
嗨,感谢您的反馈...我实际上有2个global.payloads ...一个叫global.payload(checkconf),另一个叫global.payload(meshstatus)我需要评估一个条件,如果全局.payload(meshstatus)设置为1,然后检查global.payload(checkconf)是否也等于1 ..如果是,那么做这个,如果没有,那么做这个..我一直在尝试我的大脑在结试图解决这个问题:-S – blupacetek
也许我下面的新答案更好地反映了你想要完成的事情,因为你的评论是你正在使用两个独立的全局有效载荷。 – TomServo