NR上global store变量JS语法请教
本帖最后由 samsss 于 2023-10-21 15:24 编辑新手一枚,想咨询一下各位大佬下面的JS语法应该怎么写呢:
1)给global store变量多对象赋值是这些写:
global.set('actime',{'cf':1,'etf':2},"store");
结果如图1:
但如果下一次流程赋值:
global.set('actime',{'sf':1},"store");
就不会自动往下加'sf'的对象了,直接覆盖上次的值(如下图2);
我想实现的是能自动往下加'sf'的对象和值,应该怎么写呢?
2)针对图1的变量,
我想动态取某对象的值,但JS这样写:global.set('actime','cf',"store")
就报callback must be a function的错误了,
求指教怎么写?
本帖最后由 alei643 于 2023-10-21 16:57 编辑
1、先把全局变量的值放到临时变量中,增加临时变量的对象之后,再回传给全局变量,参考下面示例var a, b;
global.set('actime', { 'cf': 1, 'etf': 2 }, "store");
a = global.get('actime', a);
a.sf = 1;
global.set('actime', a);
b = global.get('actime', b);
msg.payload = b;
return msg;
2、获取全局变量的值是用global.get,比如var actime = global.get('actime', actime),这样就可以获取到对象的值了
alei643 发表于 2023-10-21 16:46
1、先把全局变量的值放到临时变量中,增加临时变量的对象之后,再回传给全局变量,参考下面示例
2、获取全 ...
感谢大佬提供的临时变量思路哈,还有个疑问:
我想按前面节点传输过来的msg.topic(比如该值是cf),来动态取actime的子对象值,应该怎么写呢,
似乎直接这样写不行:
global.set('actime', a).msg.topic samsss 发表于 2023-10-21 21:23
感谢大佬提供的临时变量思路哈,还有个疑问:
我想按前面节点传输过来的msg.topic(比如该值是cf),来动 ...
没看明白,是要取全局变量actime的对象值,还是取msg.topic的对象值? alei643 发表于 2023-10-23 11:44
没看明白,是要取全局变量actime的对象值,还是取msg.topic的对象值?
msg.topic是一个动态的变量,要取全局变量actime下某个对象(对象名称就是通过msg.topic获取的,比如值是cf)的值; 本帖最后由 alei643 于 2023-10-24 11:43 编辑
samsss 发表于 2023-10-23 15:43
msg.topic是一个动态的变量,要取全局变量actime下某个对象(对象名称就是通过msg.topic获取的,比如值是 ...
假如msg.topic的值为cf,若取全局变量中cf对象值,参考下方示例
global.set('actime', { 'cf': 1, 'etf': 2 }, "store");
var a = global.get('actime', a);
msg.payload= a;
return msg; alei643 发表于 2023-10-24 11:39
假如msg.topic的值为cf,若取全局变量中cf对象值,参考下方示例
就是这个,感谢!
页:
[1]