這篇文章繼續介紹通過具體的示例使用switch處理多路輸入和多路輸出的方法。
事前準備
以容器方式啓動Node-RED服務,啓動命令如下所示:
啓動命令:docker run -it -p 1880:1880 -v $PWD/data:/data -e TZ=Asia/Shanghai --name nodered -d nodered/node-red:1.0.4
flow生成和設定
生成下圖所示的flow
-
Inject節點:issue
-
Inject節點:bug
-
Inject節點:codeline
-
switch節點:分支選擇
-
Debug節點:issue
-
Debug節點:bug
-
Debug節點:codeline
結果確認
執行部署之後,分別手工觸發三個Inject類型的輸入節點,結果如下所示:
json格式的輸出
[{"id":"bd397316.dd008","type":"inject","z":"73554227.4474dc","name":"issue:10","topic":"issue","payload":"10","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":180,"y":340,"wires":[["4f9d5d85.cedb34"]]},{"id":"b9fa5ac6.eaa208","type":"inject","z":"73554227.4474dc","name":"bug:2","topic":"bug","payload":"2","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":190,"y":420,"wires":[["4f9d5d85.cedb34"]]},{"id":"a64a71da.22b98","type":"inject","z":"73554227.4474dc","name":"codeline:1000","topic":"codeline","payload":"1000","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":190,"y":500,"wires":[["4f9d5d85.cedb34"]]},{"id":"4f9d5d85.cedb34","type":"switch","z":"73554227.4474dc","name":"分支選擇","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"issue","vt":"str"},{"t":"eq","v":"bug","vt":"str"},{"t":"eq","v":"codeline","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":380,"y":420,"wires":[["1caeac40.cacba4"],["6d8c515d.203df"],["f8aea65c.5bb548"]]},{"id":"1caeac40.cacba4","type":"debug","z":"73554227.4474dc","name":"issue","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":600,"y":340,"wires":[]},{"id":"6d8c515d.203df","type":"debug","z":"73554227.4474dc","name":"bug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":600,"y":420,"wires":[]},{"id":"f8aea65c.5bb548","type":"debug","z":"73554227.4474dc","name":"codeline","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":600,"y":500,"wires":[]}]