迴圈
一共四個節點。它們都在專屬的輸出上發出自己的主體,並用 done 連接埠告知工作已
結束。
ForEach(逐項迴圈)
Section titled “ForEach(逐項迴圈)”走訪一份清單。
| 輸入 | items(json) |
| 輸出 | each — 每個項目發出一次 |
| 設定 | parallelism:{ enabled, count } |
不開並行時,各次迭代會依序接著跑。開了之後,最多會有 count 次迭代同時執行
(最少 2)。
done 連接埠只有在所有迭代子圖都結束後才發出一次:彙總或清理就接在這裡。
HTTP 請求 ──response[body.ids]──► ForEach(並行 4) ├─ each ──► HTTP 請求「明細」 └─ done ──► Log「完成」For(數值迴圈)
Section titled “For(數值迴圈)”數值範圍的迴圈。
| 輸入 | from、to、step(數字) |
| 輸出 | each — 顯示名稱為 index |
| 設定 | from、to、operator(預設 <,也可以是 ≤、=、≥、>、≠)、step(0 會被當成 1)、parallelism |
While(條件迴圈)
Section titled “While(條件迴圈)”先判斷條件的迴圈。
| 輸入 | left、right |
| 輸出 | then — 顯示名稱為 主體,純訊號 |
| 設定 | operator、left、right |
主體是一個訊號:它不帶任何值。請把主體的結尾接回 While 節點的 in 連接埠,
條件才會重新求值。
請用執行變數當計數器或停止條件。
Do…While(後測迴圈)
Section titled “Do…While(後測迴圈)”和上一個一樣,但主體至少會執行一次:判斷是在之後才做。輸出的顯示名稱是 迴圈。
| 情況 | 節點 |
|---|---|
| 我手上有一份清單 | ForEach |
| 我知道要跑幾次 | For |
| 停止條件取決於某個結果,而且要先判斷 | While |
| 同上,但至少得跑一輪 | Do…While |
| 我想在失敗時重試 | Retry |
ForEach 和 For 的並行會真的把網路呼叫同時送出去。在測試環境上請逐步往上 調 — 也別忘了用等待節點把節奏放緩。