Composer 子流程用法分享
前言
如果還不知道什麼是 Composer 的朋友們,可以先參考這篇 DigiRunnerAPI組合與設計 。
覺得節點太多看得眼睛很花?
多個 API 內部流程共通性高,改其中一個 API 需要其他 API 跟著改?
有以上問題的,這篇分享的功能將解決您的問題。
一、建立
建立子流程:
1. 點選菜單
2. 新建子流程即可得到空白子流程,如下圖所示:
並且節點會多個 Subflow。
按下 Subflow 節點會開啟該子流程的內容。
將選擇部分更改為子流程:
1. 選擇主流程上的節點
2. 點選菜單
3. 將選擇部分更改為子流程即可把主流呈上所選的節點搬到子流程中,如圖所示:
註:選取有多個輸入的節點無法變成子流程,因為子流程只允許一個輸入點。如下圖所示:
二、屬性
1. 編輯屬性
(a) 宣告一些區域參數給這子流程使用
(b) 編輯子流程名稱
(c) 編輯子流程的 properties
(d) 編輯子流程的描述,該描述在點擊子流程節點的時候會顯示在右側"幫助"介面上
2. 輸入:選擇該子流程是否要輸入點。
有開啟輸入,則子流程節點將會有輸入點。
3. 輸出:可以選擇要幾個輸出。3個輸出,節點就會有3個輸出點。
4. 狀態節點:啟用狀態節點後,會依子流程內輸入到 "status" 的資料輸出至 "status" 節點,如下圖所示
將輸入的資料直接輸出至 status
接著在主流程拉取一狀態節點並接上 debug 節點,這時按下 inject 輸出時間戳,debug 節點就會收到以下資料:
並且子流程節點會顯示時間戳
5. public:是否共用於其他流程。共用子流程只有建立方才能編輯儲存,
例如在A主流程建立並共用,則只能在A做編輯儲存,無法在B主流程儲存更動以及顯示 'read only"。
該圖在 mainflow 開起共用子流程後,去 coco 重新整理會發現子流程多一個共用子流程。
6. 刪除子流程:會將子流程本身與內部所有節點刪除,任何有使用到該子流程節點的也都將被刪除。
註:子流程內無法使用 inject 節點與 debug 節點。
三、結語
子流程可以看成一個個模組,把複雜的流程歸類收納以增加可讀性和可維護性,
也能將具有相似的 API 流程,整理放入共用子流程中,提高可重用性。
四、參考文獻
(1) node-red 官方
(2) 自己