M MY Multiplayer: Wiki
Lado
Tipo

async.promise

Compartilhado

Roda handler(resolve, reject) numa thread nova e faz a thread atual esperar até ele chamar resolve ou reject. Serve para esperar uma função que responde por callback.

any async.promise(function handler)

Parâmetros

NomeTipoDescrição
handlerfunctionFunção que recebe resolve e reject. Só a primeira chamada de um dos dois conta.

Retorno

Os valores passados a resolve. Só funciona dentro de uma thread async. Fora dela, registra um erro e devolve false.

Exemplo

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)
Atençãoreject(valor), ou um erro dentro de handler, vira um erro na thread que espera. Use pcall em volta para tratá-lo.

Veja também