跳到內容

循環節點

循環節點允許您通過迭代處理數組中的每個元素,並對其應用轉換或操作。它的工作方式類似於JavaScript的map()函數,輸入一個數組,輸出一個經過處理的數組。

概述

循環節點創建一個子工作流,對輸入數組中的每個項目執行一次。每次迭代處理一個數組元素併產生相應的輸出元素,保持相同的數組結構。

節點面板中的循環節點

循環工作原理

可以將循環節點理解為JavaScript中的["x","y"].map()函數:

  • 輸入:一個值的數組
  • 處理:每個數組元素都通過子工作流進行處理
  • 輸出:一個新數組,其中每個元素對應處理後的結果

循環節點包含一個嵌入式子工作流,由兩個必需的節點組成:

  1. 開始循環一次 - 每個循環週期的入口點
  2. 結束循環一次 - 定義每次迭代輸出的出口點

子工作流結構

循環子工作流結構

每個循環節點都包含:

開始循環一次節點

此節點為每次迭代提供兩個變量:

  • $循環開始.item - 當前數組元素的值
  • $循環開始.index - 當前數組元素的索引(從0開始)

結束循環一次節點

此節點決定每次迭代返回的內容。此節點導出的值將成為輸出數組中的相應元素。 結束循環一次配置

配置每次迭代要導出的數據。所選的輸出變量決定了最終結果數組中的內容。

配置說明

循環節點配置

節點名稱

為您的循環操作設置一個描述性名稱。

循環變量

選擇包含要迭代的數組的變量。變量必須是:

  • 數組類型(可解析為JSON數組)
  • 例如:["a", "b", "c"]將迭代3次
  • 非數組類型的值將被視為單元素數組

循環間隔

設置迭代之間的延遲時間,單位為秒。默認為0(無延遲)。

輸出

循環節點輸出$循環1.result - 包含每次迭代結果的數組。

使用案例示例

1. 文本處理

處理字符串數組,對每個字符串應用轉換:

  • 輸入:["hello", "world", "flowai"]
  • 子工作流:轉換為大寫
  • 輸出:["HELLO", "WORLD", "FLOWAI"]

2. 數據豐富

用附加信息增強數組數據:

  • 輸入:[{"id": 1}, {"id": 2}, {"id": 3}]
  • 子工作流:為每個ID獲取用戶詳細信息
  • 輸出:[{"id": 1, "name": "John"}, {"id": 2, "name": "Jane"}, ...]

3. API批量處理

為不同參數進行多個API調用:

  • 輸入:["product1", "product2", "product3"]
  • 子工作流:獲取每個產品的價格
  • 輸出:[99.99, 149.99, 79.99]

最佳實踐

  1. 性能:注意循環計數限制(最多500次迭代)
  2. 頻率限制:在進行外部API調用時使用循環間隔
  3. 錯誤處理:考慮如何處理單個迭代中的失敗
  4. 數據類型:確保循環變量正確格式化為數組
  5. 輸出結構:規劃結束循環一次節點需要的數據結構

常見模式

簡單值轉換

當您需要轉換每個數組元素時使用:

  • 配置結束循環一次以輸出轉換後的值
  • 保持相同的數組結構

數據聚合

當您需要收集每個元素的信息時使用:

  • 配置結束循環一次以輸出豐富的對象
  • 將原始數據與新計算的數據相結合

帶處理的過濾

與條件節點結合以選擇性地處理數組元素:

  • 在子工作流中使用條件
  • 根據條件輸出不同的值

定製服務

官方團隊為您量身定製專業的自動化解決方案