Sleep
En esta página
sleep suspende la corrutina actual durante el tiempo indicado. Durante la
pausa, el scheduler puede ejecutar otras tareas — es cooperativo, no bloqueante.
Existen dos formas equivalentes: la forma keyword (sleep 50ms) y la forma
función (sleep(pausa)). Usa la forma función cuando la duración proviene
de una variable.
Forma keyword y forma función; sleep 0ms cede el control por un tick sin
esperar.
04-sleep.zolo
// Feature: sleep for a duration
// Syntax: two forms — keyword `sleep <dur>` and function `sleep(<dur>)`
// When to use: pause execution of the current coroutine. Cooperative:
// other scheduler tasks may run while you sleep.
print("before")
// Keyword form — direct, no parentheses.
sleep 50ms
print("middle")
// Function form — useful when the duration comes from a variable.
let pause = 30ms
sleep(pause)
print("after")
// expected:
// before
// middle
// after
// Yield to the scheduler with `sleep 0s` — hands over control for one tick.
sleep 0ms
print("one tick later")
// expected: one tick later
// Function form again — useful from a builtin context.
print("before final sleep")
sleep(20ms)
print("after final sleep")
// expected:
// before final sleep
// after final sleep
sleep 0ms es útil para ceder el scheduler — garantiza que otras
corrutinas tengan la oportunidad de ejecutarse sin introducir ningún retraso
real.
Consulta también