2016-11-24 57 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

相關問題