n8n 教學:使用 If 或 Switch 節點控制流程

n8n 也可以處理程式裡在不同條件之下走不同的流程,你可以用 If 或 Switch 的節點來做到,以下就是說明方式:

if 節點

延續之前的範例

Step1: 整理原始資料

接著在 Code 那邊把內容整理成如下:

const location = items[0].json.records.location[0];
const weather = location.weatherElement;

const pop = parseInt(weather.find(el => el.elementName === "PoP").time[0].parameter.parameterName, 10);

return [{
  json: {
    pop: pop
  }
}];

這樣的結果就是會丟出一個 pop 並顯示降雨機率的數值。 

 

Step 2: 新增 if 節點

新增 if 節點並照如下設定,fx 那邊設定我們從前一個節點來的資料,後面 is greater than 可以用下拉選取條件,我是選擇數字要大於多少,下面的數字則是訂的值,我這次選 50:

 

接著就可以產出如下的節點,可以接著在 ture 或 false 後增加要做的事情的節點:

 

Step 3: 在 ture 或 false 增加新的節點指定要做的事

我設定如果降雨機率大於 50%,就會傳「降雨機率大於 50%」的文字到 discord

 

由於傳文字比較沒變化,我再改成傳不同的圖片如下:

>=50% 傳這張
https://img.icons8.com/?size=96&id=18597&format=png

<50% 傳這張
https://img.icons8.com/?size=96&id=15352&format=png

這樣在 >=50% 跟 <50% 就會在 Discord 看到不一樣的圖片了,完整流程如下:

 

Switch

不過用 if 節點的話只能有兩個條件,所以上面那個範例只會有太陽跟下雨兩種圖,跟實際要用的情境差很多,所以如果要多幾種情境就要改成 switch,當你需要根據某個欄位的內容來執行不同的流程時,Switch 就非常有用。例如:

  • 根據使用者的地區寄送不同語言的 email。
  • 根據商品類別走不同的處理流程。
  • 根據 API 回傳的狀態碼進行錯誤處理或成功處理。

接著我們實際來練習,首先一樣接著前一個範例,只是後面我們改用 switch 的節點:

Step 1: 整理資料

這次透過 code 把資料整理如下:

const location = items[0].json.records.location[0];
const weather = location.weatherElement;
 
const wx = weather.find(el => el.elementName === "Wx").time[0].parameter.parameterName;
 
return [{
  json: {
    weather: `${wx}`
  }
}];

我這次是把天氣敘述取出來。

 

Step 2: 新增 switch 節點

switch 節點的不同是你可以增加很多條件,這次我改成抓 $json["weather"] 的資料,並透過 contains 選項去判斷裡面是否有特定的文字後來當作條件。

 

程式的 switch 有一個叫 default 的是可以來放預設會走的路線,在 n8n 就是在下面的 Fallback Output 選擇 Extra Output 就好

 

都設定完成我們就可以得到以下的工作流

 

不過由於預設的工作流顯示的條件是 0, 1, 2...,我們可以透過修改節點名稱讓工作流的使用者體驗更好,你只要勾選 Rename Output 並給予想要的值:

這樣的工作流就更清楚了。

也可以一樣在後面增加區塊處理不同條件下做的事情,以上就是 n8n if 跟 switch 節點的應用方式。

課程推薦

用 AI 生成網站? AI 高效網站設計實戰課:ChatGPT X HTML X SEO

用 AI 生成網站? AI 高效網站設計實戰課:ChatGPT X HTML X SEO

利用 AI 提升網站設計效率與 SEO 排名!了解如何透過 ChatGPT 等工具快速建立 HTML 架構,優化關鍵字與用戶體驗,讓網站更具競爭力。

輸入折扣碼 TC1533SL 還可以額外獲得 NT$500 優惠喔。

AI工作術全面學習實戰營:6 堂精選課程,學會最好用 AI 工具,翻轉你的人生

AI工作術全面學習實戰營:6 堂精選課程,學會最好用 AI 工具,翻轉你的人生

《PChome雜誌》攜手 5 位在 AI 領域的專業講師,打造上述 6 堂實用課程,教你學會時下最好用的 AI 工具,導入生成式 AI 來產製工作內容,改造並升級你的工作流程。

輸入折扣碼 ZERO2024 還可以額外獲得 NT$400 優惠喔。

HTML與SEO實戰應用—並以ChatGPT助力提升網站品質與流量

HTML與SEO實戰應用—並以ChatGPT助力提升網站品質與流量

本課程專為希望深入了解 HTML 並有效結合 SEO 策略的學員設計。我們將重點放在 HTML 的深度學習與應用上,同時穿插介紹如何透過搜索引擎優化提升網站能見度。透過即時互動式的直播教學,加上 ChatGPT 的輔助,您將學習到如何建立一個結構優良、美觀且符合 SEO 標準的網站。這不僅會提升網站的用戶體驗,還會大幅提高網站的搜索引擎排名,進而增加訪客流量和潛在客戶。
用AI強化職場競爭力 ChatGPT、Midjourney從入門到精通

用AI強化職場競爭力 ChatGPT、Midjourney從入門到精通

在快速變遷的職場中,提升競爭力成為關鍵。透過引領潮流的AI技術,ChatGPT和Midjourney將助您勇攀高峰。無論您是AI新手還是專家,這個課程將引導您從入門到精通,解密AI的奧秘,並學習如何運用於職場。
GitHub Copilot AI 程式碼編輯工具應用實務班

GitHub Copilot AI 程式碼編輯工具應用實務班

讓學員瞭解有效地使用該工具來加速開發流程、提高程式碼品質和生產力。課程重點放在以 JavaScript 程式語言為例,介紹 Copilot 的基本原理、使用方法和最佳實踐。

輸入折扣碼 TC1456JA 還可以額外獲得 NT$500 優惠喔。

ChatGPT X Clipchamp AI 生成影片、配音與字幕應用實戰班

ChatGPT X Clipchamp AI 生成影片、配音與字幕應用實戰班

掌握Clipchamp AI的操作技巧,靈活運用Clipchamp AI進行影片編輯和創作,實現創意表達和傳播目的。

輸入折扣碼 TC1451JAN 還可以額外獲得 NT$500 優惠喔。

如何串接多種數位工具資訊?Looker Studio 資料視覺化實戰班|GoogleAds x FB廣告 x GA流量數據

如何串接多種數位工具資訊?Looker Studio 資料視覺化實戰班|GoogleAds x FB廣告 x GA流量數據

Looker Studio除了可協助使用者監控網站流量、廣告成效、選擇匯入資源的管道之外,還可以將數據資料多平台整合、數據報表即時更新、數據範本可重複套用的效益,透過自動化系統,將數據全部匯入同一個報表平台,是企業不可或缺的重要工具。

輸入折扣碼 TC1270JIA 還可以額外獲得 NT$500 優惠喔。

和我們交流

加入我們的社群,裡面會有一些技術的內容、有趣的技術梗,以及職缺的分享,歡迎和我們一起討論。