> For the complete documentation index, see [llms.txt](https://docs.emobiq.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.emobiq.com/emobiq-client/006-actions-and-visual-logic/action-reference/cordova/flow/whileloop.md).

# whileLoop

## Description

Loop runs, and it continues to repeat as long as the condition remains true, it evaluates the condition first before looping.

## Input / Parameter

| Name      | Description                                  | Input Type | Default | Options | Required |
| --------- | -------------------------------------------- | ---------- | ------- | ------- | -------- |
| condition | The condition to evaluates first before loop | boolean    | -       | -       | Yes      |

## Output

N/A

## Callback

### yesCallback

This will be triggered for every loop that happens while the condition remains true.

## Example

In this example, we will do console logging by using `console` function in `whileLoop` callback

### Code Equivalent

```
let n = 0;
while (n < 5) {
  n++;
  console.log("while loop"+n);
}
```

### Steps

1. Drag a `button` component into the canvas and open the `Action` tab. Select the `press` event of the button and drag the `setVar` function to the event flow, add the value `n` on `var` param and add the value `0` on `value` param.

   ![](/files/6T6zgexjEodMlLKwdfgI)
2. Drag the function `whileLoop` to the eventflow, on it's `condition` param change the param type to function/subflow then add function `less` inside the subflow, for the `value1` param change the param type to function/subflow then add function `getVar` inside the subflow, for the `var` param add value `n`.

   ![](/files/Hafb0W9oHYOYU1RGxASj)
3. Drag the function `setVar` inside function `whileLoop` yes callback, add value `n` on param `var` and change the param type to subflow/function on param `value`. Inside param `value` subflow add `add` function then on it's `value1` change the param type to subflow/function, add `getVar` function in it, then put `n` on it's `var` param value.

   ![](/files/qHgfdLQDMlRiLbar382D)
4. Drag the function `console` inside function `whileLoop` yes callback, change the param type to subflow/function on param `value`. Inside param `value` subflow add `plus` function then on it's `value1` param add `while loop` value, as for `value2` param change the param type to subflow/function, add `getVar` function in it, then put `n` on it's `var` param value.

   ![](/files/3BA4Dc7U3ImtStyw6dII)

### Result

1. Now click the button in preview, it will show the list of `while loop` with the current loop number on the console.

   ![](/files/DAkCn2nNgvLVeP068Fqz)

## Links

### Related Information

See also:

* Functions
  * [plus](/emobiq-client/006-actions-and-visual-logic/action-reference/cordova/math/plus.md)
