跳到內容

迴圈

一共四個節點。它們都在專屬的輸出上發出自己的主體,並用 done 連接埠告知工作已 結束。

走訪一份清單。

輸入items(json)
輸出each — 每個項目發出一次
設定parallelism{ enabled, count }

不開並行時,各次迭代會依序接著跑。開了之後,最多會有 count 次迭代同時執行 (最少 2)。

done 連接埠只有在所有迭代子圖都結束後才發出一次:彙總或清理就接在這裡。

HTTP 請求 ──response[body.ids]──► ForEach(並行 4)
├─ each ──► HTTP 請求「明細」
└─ done ──► Log「完成」

數值範圍的迴圈。

輸入fromtostep(數字)
輸出each — 顯示名稱為 index
設定fromtooperator(預設 <,也可以是 =>)、step(0 會被當成 1)、parallelism

先判斷條件的迴圈。

輸入leftright
輸出then — 顯示名稱為 主體純訊號
設定operatorleftright

主體是一個訊號:它不帶任何值。請把主體的結尾接回 While 節點的 in 連接埠, 條件才會重新求值。

請用執行變數當計數器或停止條件。

和上一個一樣,但主體至少會執行一次:判斷是在之後才做。輸出的顯示名稱是 迴圈

情況節點
我手上有一份清單ForEach
我知道要跑幾次For
停止條件取決於某個結果,而且要先判斷While
同上,但至少得跑一輪Do…While
我想在失敗時重試Retry

ForEachFor 的並行會真的把網路呼叫同時送出去。在測試環境上請逐步往上 調 — 也別忘了用等待節點把節奏放緩。