2016-11-20 186 views
-1

在節點RED我試圖從MQTT話題的一部分創建一個全局變量:如何創建一個動態命名的全局變量?

var mytopic = msg.topic; 
shortcode = mytopic.replace(/.*presence\/(.*)/, '$1'); 
global.set(shortcode, '1'); 

說明文檔中提到global.set('foo', 'bar');但我怎麼設置變量名,,動態?

+1

動態創建的全局變量聽起來並不是最好的(糟糕的)設計決策。如果你解釋這個問題,社區可能會幫助你更好地解決問題。 – zerkms

+4

只是基於此語法,但如果set方法需要兩個字符串,或一個字符串和其他值,那麼不應該有任何理由,你不能傳遞一個變量作爲第一個參數,真的叫不知道調用者是否給它一個靜態字符串或變量。 – Taplar

+2

你還沒有說過爲什麼你認爲你有什麼不起作用 – hardillb

回答

0

謝謝你的回覆。

建議它應該實際上工作,它確實。我的錯誤在別處。我意識到使用全局變量的風險。現在,我可以使用MQTT主題(如「+/presence /#」)(包含有關由多個傳感器檢測到的不同項目的存在的信息)與一個流程一起工作。