> For the complete documentation index, see [llms.txt](https://docs.apidrag.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apidrag.com/base-control/controls/loop.md).

# Loop

## 아이템 블록

설정한 조건에 따라 반복구간을 반복하고, 조건을 완료하면 반복구간 밖으로 나와서 다음 Flow를 수행합니다.

<figure><img src="/files/ctujCJAc9OtK64Ddi6iW" alt=""><figcaption></figcaption></figure>

위 아이템 블록의 오른쪽 사각형 포인트 중 **세모 아이콘**은 **반복구간**으로의 Flow 진입 연결이 되고, **사각형 아이콘**은 반복구간의 **수행이 완료**되면 연결되는 Flow 입니다.

## 설정 팝업

<figure><img src="/files/oC9s40npzyIjEoNMwz5s" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/krddnOR4g9ZxHibAYf6T" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/AESFtoq9Ed4PqvMHOQMQ" alt=""><figcaption></figcaption></figure>

## 설정 필드

### <mark style="color:blue;">반복방식 : 횟수</mark>

반복횟수를 지정하여 고정 된 횟수를 반복하는 옵션입니다.

#### index 초기값

반복을 하면서 index 가 loop 의 파라미터로 전달이 되는데, index가 횟수를 반복 할 수록 증가됩니다. index 가 증가하기 위한 최초 값을 설정합니다. 사용자의 필요에 따라 설정하면 됩니다.

#### index 증가값

Loop 아이템 블록이 1회 반복할때 마다 증가시켜 줄 index 의 값입니다.

#### 반복횟수

Loop 아이템 블록의 반복 횟수를 지정합니다.

### <mark style="color:blue;">반복방식 : 조건</mark>

조건이 만족하는 경우에 계속 Loop 아이템 블록을 벗어나지 않고 Flow를 수행합니다.

#### 검증할 필드

검증 되어야 할 값을 설정해 줍니다.&#x20;

선택 항목은 **global, msg, loop, 코드입력** 중 선택할 수 있습니다.

#### 검증조건

검증 할 필드의 값이 어떤 조건인지를 확인하는 필드 입니다.&#x20;

#### 비교부호

\== : 검증 할 필드와 검증조건이 같은 값

!= : 검증 할 필드와 검증조건이 다른 값

\=> : 검증 할 필드의 값이 검증조건과 같거나 큰 경우

\=< : 검증 할 필드의 값이 검증조건과 같거나 작은 경우

\> : 검증 할 필드의 값이 검증조건의 값 보다 큰 경우

< : 검증 할 필드의 값이 검증조건의 값 보다 작은 경우

has key : 검증 할 필드의 Object안에 검증조건에서 제시한 키가 존재하는 경우

is between : 검증 할 필드의 값이 검증조건 값의 사이에 존재하는 경우

contains : 검증 할 필드의 Object 안에 검증조건에서 제시한 값이 존재하는 경우

match regex : 검증 할 필드의 값이 검증조건에서 제공한 정규 표현식에 일치하는 경우

is true : 검증 할 필드의 값이 true 인 경우

is false : 검증 할 필드의 값이 false 인 경우

is null : 검증 할 필드가 null 인 경우

is not null : 검증 할 필드가 null 이 아닌 경우

is type of :  검증 할 필드 값의 타입이 검증조건에서 제공한 타입과 일치하는 경우

is empty : 검증 할 필드의 Object 가 비어있는 경우

is not empty : 검증 할 필드의 Object 가 비어있지 않은 경우

#### 최대 반복 횟수

조건검증의 방식은 조건이 만족하는 경우 Loop 아이템 블록을 벗어나지 않기 때문에, Flow 가 무한 반복되는 문제가 발생할 수 있습니다. 이러한 오류를 방지하고자 최대 반복 횟수를 설정합니다. 기본값은 10으로 등록되며, 사용자의 상황에 맞추어 적당한 값을 등록하면 됩니다.

#### 조건검증 위치

조건 검증의 방식에 따라 조건검증을 먼저 수행하고 구간 수행을 하는 경우와, 무조건 구간을 진입하여 수행을 한 뒤에 조건을 검증하는 방식이 있습니다.&#x20;

### <mark style="color:blue;">반복방식 : 배열</mark>

#### 반복대상 아이템

배열이나 Map 타입의 Object가 제공되면, 해당 Object 내부의 요소들을 반복구간으로 하나씩 전달합니다.

### 반복구간 전송 데이터

#### Original payload

Loop 아이템 블록 앞의 Flow 에서 만들어진 payload 를 전달합니다.

#### index

반복구간에서 증가하는 index 값을 전달합니다.

#### key

반복방식이 배열인 경우에만 전달이 가능합니다. 전달하는 Object 의 타입이 Map 이면 key가 전달되지만, 배열인 경우에는 배열의 index 값이 전달됩니다.

#### value

반복방식이 배열인 경우에만 전달이 가능합니다. 전달하는 Object의 값을 전달합니다.
