迴圈
使用「迴圈」動作可重複執行一個動作或一組動作指定的次數,或直到符合指定條件為止。
完成下列步驟,可在工作流程中使用「迴圈」動作:
部份 A:配置迴圈動作
1. 按一下 並將「迴圈」下的「迴圈」動作拖曳至畫布。「迴圈」區塊會顯示在畫布上。
2. 將指標置於動作上,然後按一下 ,或連按兩下該動作。「迴圈」視窗即會開啟。
3. 視需要編輯「標籤」。依預設,標籤名稱與動作名稱相同。
4. 「選取迴圈類型」欄位中,選取下列其中一個選項,然後執行其各自的任務:
選取迴圈類型
任務
「次數」- 重複一或多個任務,直到符合指定計數為止。
「迴圈」動作內的工作流程不需要上一個動作的任何輸入時,建議您選取此選項。
「次數」迴圈的範例可在此處找到。
「次數」欄位中,指定迴圈應執行的次數。
「每個項目」- 為陣列或集合中的每個項目重複一或多個任務。
「每個項目」迴圈的範例可在此處找到。
「來源陣列或物件」欄位中,對應上一個動作的輸出,以提供陣列或物件。
While - 重複一或多個任務,直到符合指定條件為止。
While 迴圈的範例可在此處找到。
a. 「初始值」欄位中,提供迴圈的初始值。此值可以是數字、布林值、字串或 JSON。
此值會設定 $currentItem 值。此值僅在迴圈開始前使用一次。
b. 「條件」欄位中,提供條件。如果您要使用「初始值」中的項目,請在內置運算式中使用 $currentItem。例如:{{$currentItem}} < 5
每次執行迴圈之前都會評估此條件。如果此條件的結果評估為 true,則迴圈會繼續;否則,迴圈會中斷。將「條件」設定為 0false (不區分大小寫),或將其保留空白,會將條件評估為 false,且會中斷迴圈。
* 
如果條件無限為 true,則迴圈會一直執行,直到工作流程逾時為止。預設工作流程逾時為 3 分鐘。
c. 「已更新的值」欄位中,提供更新的值。此值可以是數字、布林值、字串或 JSON。
此值會更新 $currentItem 值。此運算式會在每一個迴圈週期之後評估一次。
* 
針對「已更新的值」欄位,您可以使用迴圈內任何動作的輸出。但是,由於迴圈內動作的輸出並未顯示,因此,您需要參考動作索引來手動對應輸出
針對「初始值」「條件」,如果您使用迴圈內任何動作的輸出,「條件」會評估為 undefined,且「迴圈」會失敗。
5. 按一下「完成」
6. 此外,將游標置於「迴圈」區塊上可執行下列任務:
按一下 可最大化或最小化「迴圈」區塊。
按一下 可將「迴圈」區塊從畫布中移除。
部份 B:在迴圈區塊外新增動作
1. 在工作流程編輯器右側的「動作」面板中,將動作拖曳到「迴圈」區塊外的畫布上。
「迴圈」區塊之前和之後可以有一或多個動作。
2. 「迴圈」區塊前的動作連線至
3. 「迴圈」區塊後的動作連線至
4. 根據您的需求配置動作。
部份 C:將動作新增至迴圈區塊
1. 在工作流程編輯器右側的「動作」面板中,將動作拖曳到「迴圈」區塊上。當動作在「迴圈」區塊上時,「迴圈」區塊會反白顯示。在您將動作放到「迴圈」區塊上之後,如果它是區塊中的第一個動作,該動作會自動連線至
您可以將單一動作或多個動作新增至「迴圈」區塊。
當您將動作拖曳到「迴圈」區塊外的畫布上時,無法將其拖曳到「迴圈」區塊內。
2. 將多個動作新增至「迴圈」區塊,並逐一連線。如果需要,「迴圈」區塊內只能有一個動作。
3. 「迴圈」區塊中的最後一個動作連線至
4. 根據您的需求配置「迴圈」區塊中的動作。
執行
當執行工作流程時,會先以工作流程中的第一個動作開始,重複執行迴圈區塊內的所有動作,直到符合定義的計數或條件為止,然後接著繼續執行下列動作。
輸出結構描述
針對「次數」迴圈:
currentIndex - 目前版序的索引或位置 (從 1 開始)。
currentKey - 目前版序的索引或位置 (從 0 開始)。
currentItemcurrentValue - 版序的目前值。
totalLength - 會版序化迴圈的次數。
針對「每個項目」迴圈:
currentIndex - 目前版序的索引或位置 (從 0 開始)。
currentItem - 如果來源是物件,此內容會傳回與 currentIndex 對應的值。如果來源是陣列,此內容會傳回每個版序的目前物件。
currentKey - 如果來源是物件,此內容會傳回物件的金鑰。如果來源是陣列,它會傳回每個項目的索引。
currentValue - 如果來源是物件,此內容會傳回物件的值。如果來源是陣列,它會傳回陣列的所有項目,包括物件 (如果陣列內有任何物件)。若要擷取特定金鑰或內容的值,請指定 {{$ActionID.currentValue.<PropertyName>}}
totalLength - 物件陣列內所有物件的總數,或陣列內所有項目的總數。
針對 While 迴圈:
currentIndexcurrentKey - 目前版序的索引或位置 (從 0 開始)。
currentItemcurrentValue - 傳回版序的目前值。
totalLength - 未定義。
這是否有幫助?