How To Call It
Async is a global table: call its functions with a dot (Async.<method>(...)), not a colon.
Returns true while a timer set up with Async.defer or Async.every is still scheduled. A defer timer turns false once it has run, and any timer once it is cancelled.
Documented for app version 1.0.51Updated:
Async is a global table: call its functions with a dot (Async.<method>(...)), not a colon.
Core flow APIs are usually the backbone of larger scenarios; keep them anchored to clear checkpoints and readable variables.
Required: timerId. Returns a boolean (true or false).
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 timerId = Async.every(1000, function() print("tick") end)
local ok = Async.isActive(timerId)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 timerId = Async.every(1000, function() print("tick") end)
local ok = Async.isActive(timerId)local stepOk = true
local timerId = Async.every(1000, function() print("tick") end)
local ok = Async.isActive(timerId)
if stepOk then
wait(200)
endlocal ok, err = pcall(function()
local timerId = Async.every(1000, function() print("tick") end)
local ok = Async.isActive(timerId)
end)
if not ok then
print("API step failed: Async.isActive: " .. tostring(err))
requestStop()
end-- Core flow APIs are usually the backbone of larger scenarios; keep them anchored to clear checkpoints and readable variables.
local function run_isactive_step()
local timerId = Async.every(1000, function() print("tick") end)
local ok = Async.isActive(timerId)
end
local ok, err = pcall(run_isactive_step)
if not ok then
toast("Step failed")
print(err)
endlocal timerId = Async.every(1000, function() print("tick") end)
local ok = Async.isActive(timerId)
wait(200)
print("Combined with logging and flow control")