How To Call It
AsyncPromise is not a global name; call its methods with a colon on a promise created with Async.promise() (nil when the promise limit is reached).
The result object Async.promise() creates: complete it with resolve or reject and wait for it with await.
Documented for app version 1.0.51Updated:
AsyncPromise is not a global name; call its methods with a colon on a promise created with Async.promise() (nil when the promise limit is reached).
Core flow APIs are usually the backbone of larger scenarios; keep them anchored to clear checkpoints and readable variables.
AsyncPromise offers 7 methods; each method page lists its parameters and return value.
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 promise = Async.promise()
if promise then
Async.defer(500, function() promise:resolve("ready") end)
local ok, value = promise:await(2000)
endFrom 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 promise = Async.promise()
if promise then
Async.defer(500, function() promise:resolve("ready") end)
local ok, value = promise:await(2000)
endlocal promise = Async.promise()
if promise then
Async.defer(500, function() promise:resolve("ready") end)
local ok, value = promise:await(2000)
end
-- Continue with one focused method on the object.local promise = Async.promise()
if promise then
Async.defer(500, function() promise:resolve("ready") end)
local ok, value = promise:await(2000)
end
local note = "AsyncPromise overview loaded"
print(note)-- Core flow APIs are usually the backbone of larger scenarios; keep them anchored to clear checkpoints and readable variables.
local function run_asyncpromise_step()
local promise = Async.promise()
if promise then
Async.defer(500, function() promise:resolve("ready") end)
local ok, value = promise:await(2000)
end
end
local ok, err = pcall(run_asyncpromise_step)
if not ok then
toast("Step failed")
print(err)
endlocal promise = Async.promise()
if promise then
Async.defer(500, function() promise:resolve("ready") end)
local ok, value = promise:await(2000)
end
wait(200)
print("Combined with logging and flow control")