How To Call It
This is an object method: call it with a colon on a promise created with Async.promise() (nil when the promise limit is reached) (promise:<method>(...)). AsyncPromise is not a global name; the method exists only on that object.
Waits for the promise and returns a success flag and the value.
Documented for app version 1.0.51Updated:
This is an object method: call it with a colon on a promise created with Async.promise() (nil when the promise limit is reached) (promise:<method>(...)). AsyncPromise is not a global name; the method exists only on that object.
Core flow APIs are usually the backbone of larger scenarios; keep them anchored to clear checkpoints and readable variables.
Optional: timeoutMs (omit to pass nil and use the runtime default). Returns two values: a success flag (boolean) and the resulting 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
local ok, value = promise:await()
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
local ok, value = promise:await()
endlocal stepOk = true
local promise = Async.promise()
if promise then
local ok, value = promise:await()
end
if stepOk then
wait(200)
endlocal ok, err = pcall(function()
local promise = Async.promise()
if promise then
local ok, value = promise:await()
end
end)
if not ok then
print("API step failed: AsyncPromise:await: " .. 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_await_step()
local promise = Async.promise()
if promise then
local ok, value = promise:await()
end
end
local ok, err = pcall(run_await_step)
if not ok then
toast("Step failed")
print(err)
endlocal promise = Async.promise()
if promise then
local ok, value = promise:await()
end
wait(200)
print("Combined with logging and flow control")