节点红色清除 context.global

node-red clear context.global

我们正在努力重构我们的节点红色流程。所以我试图找到一种方法来清除我们的上下文,而不必每次都重新启动 node-red。 问题是我们没有使用传统的 global.get()global.set() 来访问全局上下文;我们使用 context.global 变量,我在文档中找不到任何参考。

所以要设置一个新的全局变量,我们使用 context.global.var1 = "value" 而不是 global.set('var1','value'); 为了获得价值,我们使用 var thisvalue = context.global.var1 而不是 var thisvalue = global.get('var1').

另请注意,这两个变量没有存储在同一个地方,context.global不会显示在Context Data Tab中。而且我无法使用 global.get 方法获取其值。

那么这两种方法有什么区别,我该如何清除这个context.global,注意我试过这些方法:

context.global= new Object();
context.global= {};
context.global={'empty','empty'};
context.global=null;

附加信息:我们使用 node-red 的 v0.20.3 版本

谢谢

不推荐使用 context.global.var(因此它已从文档中删除)以支持 global.set()flow.set()context.set(),因为这允许使用存储使上下文在重启后保持不变的插件。

存储插件还允许您使用这个 redis 在多个 Node-RED 实例之间共享上下文。

如果您想清除上下文中的值,您需要将它们设置为 undefined

另一种选择是编写您自己的存储插件,您可以选择清除您想要的任何内容(基于您曾经用作后备存储)