2016-11-24 179 views
1

我正在使用节点红色,我会有兴趣制作一个持久变量(atcually数组),每次数据到达节点时都不会被删除。我已阅读有关context选项,但我无法设法使其工作。在Node-Red块中存储/初始化持久变量的最佳方法是什么?

问题是,我有一个块,我希望存储一些传入数据,所以稍后我可以将存储的数据与新传入的数据进行比较。但是,如果我在这个块中定义一个变量,那么每次有东西到达块本身时,该变量就会被覆盖,所以我不能有效地进行比较。

我该怎么做呢?而且,初始化该变量的最佳方式是什么/哪里?

由于提前,

问候

回答

2

上下文功能正是你想要的。

有许多方法可以处理上下文属性。您可以使用Change节点获取/设置它们,或者通过功能节点进行设置。

例如:

var myArray = flow.get('myArray'); 
if (!myArray) { 
    myArray = []; 
} 

// do something with myArray 

// save it back to context 
flow.set('myArray',myArray); 

的文档有一些更多的细节:http://nodered.org/docs/writing-functions#storing-data

+0

什么是你的代码'flow.'? – ndarkness

+0

它确实有效,流量指的是我目前的流量,谢谢@knolleary – ndarkness

相关问题