在noderedjavascript中使用全局变量(HowTo)
我正在尝试使用一个节点Red中的锁变量。为此,我编写了以下函数在noderedjavascript中使用全局变量(HowTo),javascript,node-red,Javascript,Node Red,我正在尝试使用一个节点Red中的锁变量。为此,我编写了以下函数 global.set('lockvariable',0); var payload = msg.payload; if (msg.payload[0].value === 0 && global.get('lockvariable')=== 0){ msg.payload =global.get('lockvariable'); global.set('lockvariable'
global.set('lockvariable',0);
var payload = msg.payload;
if (msg.payload[0].value === 0 && global.get('lockvariable')=== 0){
msg.payload =global.get('lockvariable');
global.set('lockvariable',1);
} else if (global.get('lockvariable') === 1){
msg.payload = global.get('lockvariable');
}
return msg;
我的问题是返回值总是0。我猜是因为我在第一行写初始化!因为我来自C世界,我不明白我在这里错过了什么
谢谢你的提示 如果要初始化全局变量,可能需要在单独的流上进行初始化,并将injectnode设置为在node-RED启动时触发以触发它 另一个选项是在函数开始时通过测试对设置进行选通,以查看上下文变量是否已设置
if (global.get("lockvariable") == undefined) {
global.set('lockvariable',0);
}
...