How To Call It
System is a global table: call its functions with a dot (System.<method>(...)), not a colon.
Runs a function once after the given milliseconds and returns a timer id (0 when it could not be scheduled).
Documented for app version 1.0.51Updated:
System is a global table: call its functions with a dot (System.<method>(...)), not a colon.
In system flow, design steps as observe first and act second when the API can affect device state.
Required: delayMs, action. Returns a number.
Using this API with logging, error handling, and next-step control produces much more professional results than calling it in isolation.
The snippet below is a starter pattern that can be applied directly in runtime flow.
local result = System.setTimeout(500, function() print("timeout fired") end)From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.
local result = System.setTimeout(500, function() print("timeout fired") end)local stepOk = true
local result = System.setTimeout(500, function() print("timeout fired") end)
if stepOk then
wait(200)
endlocal ok, err = pcall(function()
local result = System.setTimeout(500, function() print("timeout fired") end)
end)
if not ok then
print("API step failed: System.setTimeout: " .. tostring(err))
requestStop()
end-- In system flow, design steps as observe first and act second when the API can affect device state.
local function run_settimeout_step()
local result = System.setTimeout(500, function() print("timeout fired") end)
end
local ok, err = pcall(run_settimeout_step)
if not ok then
toast("Step failed")
print(err)
endlocal result = System.setTimeout(500, function() print("timeout fired") end)
wait(200)
print("Combined with logging and flow control")