Pauses a handler before executing the rest of its statements.


wait for messages


wait for 2 seconds -- Waits for 2 seconds and blocks
wait until the mouse is up
wait while the seconds < alarmTime
wait 10 milliseconds with messages -- Waits 10 milliseconds and DOES NOT block

Use the wait command to delay a certain amount of time, or until something happens, before continuing a handler.

The pure wait command freezes execution for the specified amount of time, or until the specified condition has been met, or until a message has been sent; but the with messages option not!

The wait for time form waits for the specified time period. (The time elapsed during a wait command may be a few milliseconds more than the specified time, depending on the speed of the system and on the system's minimum time slice.)

If the wait..with messages form is used, LiveCode continues normal processing during the wait. The current handler is frozen, but the user can start other handlers and perform other actions such as switching cards.

Tip: To complete a process after a pause while allowing LiveCode to run normally until that time, you can use the send in time form of the send command instead of using the wait...with messages form of the wait command.

The wait for messages form waits until any message has been sent and the message has been handled. After any message handler runs, the handler containing the wait for messages statement resumes executing. Wait for messages handles at least one message but can handle more.


  • condition (bool): The wait command continuously evaluates this expression while waiting.
  • number (integer): If you don't specify a unit of time, the wait command waits for numberticks.

See also: repeat (control structure),seconds (function),waitDepth (function),milliseconds (function),ticks (function),idle (message),lowResolutionTimers (property),