Skip to main content

Delay

This block is used to define the time delay before executing the next block in the chain.

Delay Block

While the same result can also be achieved with a pair of Timer Start and On Timer Completed blocks, flows built with Delay blocks can be easier to follow, especially when creating strictly sequential flows.

It is essential to know that the Delay block is asynchronous in nature, meaning that other events (and their flows) may execute during the delay. The Delay block is then an "inline" version of the Timer Start and On Timer Completed pair. The difference is only in the diagram style and some limitations inherent to the Delay block.

Case 1: Continuous Sequence of Events

These two examples play the same sounds, but one uses a string of Delay blocks, and the other one relies on a set of Timers. Since the execution is entirely sequential, using the Delay blocks results in a smaller diagram that is much easier to follow.

String of delay blocks in AppBlocks playing a sequence of sounds.Set of timer blocks in AppBlocks playing a sequence of sounds.

Delay Block Limitations

Although easy to read and convenient to use, Delay blocks have some limitations compared to using timers:

  • Delay blocks do not have associated timer variables, which can be limiting in specific applications.
  • Once started, a delay executed through a Delay block cannot be altered or stopped.
  • Delay blocks are not suitable in applications where several time-based flows occur in parallel.

See also Timers