# interval

## Description

Executes a function continuously with the specified interval between each execution.

## Input / Parameter

| Name       | Description                                            | Input Type | Default | Options     | Required |
| ---------- | ------------------------------------------------------ | ---------- | ------- | ----------- | -------- |
| delay      | The duration between each run. (In milliseconds)       | Number     | 0       | -           | Yes      |
| timeout    | The duration the output appears for. (In milliseconds) | Number     | 0       | -           | Yes      |
| persistent | Interval is repeated outside current page or not.      | Boolean    | false   | false, true | No       |

## Output

The function will return interval id if it ran successfully.

## Callback

The action performed if the condition is true.

## Example

In this example, we will pass a condition to check whether two values are equal using the `Logic.equal` function and print the result of the `Control.conditional` function in the console.

### Steps

1. Drag a `button` component into the canvas and open the `Action` tab. Select the `press` event of the button and drag the `Control.interval` function to the event flow.

   ![](https://399701567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwmJ1RKjM2uNFaL6fO3Xu%2Fuploads%2Fgit-blob-949117a63d4d703fe47afdcb67297bc2778682bd%2Finterval-step-1.png?alt=media)
2. Call the function `Control.interval`. Enter the parameters of the `Control.interval` function.

   ![](https://399701567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwmJ1RKjM2uNFaL6fO3Xu%2Fuploads%2Fgit-blob-918248531bc7eb15807d4d5938ea0c85d3248e6a%2Finterval-step-2.png?alt=media)
3. Put a `Log.write` function below `Control.interval` as the callback.

   ![](https://399701567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwmJ1RKjM2uNFaL6fO3Xu%2Fuploads%2Fgit-blob-8c80e2e0e34f39f29d38715e3a3a4c38ba17c258%2Finterval-step-3.png?alt=media)

### Result

1. The function will call the callback 3 times based on interval time. Because 10.000 / 3.000 = 3.3 and we will floor to 3, then the callback will called 3 times.

   ![](https://399701567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwmJ1RKjM2uNFaL6fO3Xu%2Fuploads%2Fgit-blob-356584402244a41fbf8b4fe53d383a8e5a14bc2f%2Finterval-result.png?alt=media)
