async.promise
Compartido
Ejecuta handler(resolve, reject) en un hilo nuevo y hace que el hilo actual espere hasta que llame a resolve o reject. Sirve para esperar una función que responde por callback.
any async.promise(function handler)
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| handler | function | Función que recibe resolve y reject. Solo cuenta la primera llamada de cualquiera de los dos. |
Retorno
Los valores pasados a resolve. Solo funciona dentro de un hilo async. Fuera de uno, registra un error y devuelve false.
Ejemplo
local function delay(ms)
return async.promise(function(resolve)
setTimer(resolve, ms, 1, "done")
end)
end
async.thread(function()
local result = delay(500)
outputDebugString(result)
end)Atención
reject(valor), o un error dentro de handler, se convierte en un error en el hilo que espera. Envuélvelo en pcall para tratarlo.