Не возвращает правильное значение - PullRequest
0 голосов
/ 01 февраля 2020

Здравствуйте, у меня есть 2 функции, одна из которых возвращает значение

function AddPlayer(steamID, source)
    for i,p in ipairs(players) do
        if steamID == p[1] then
            players[i] = {p[1], p[2], source}
            return
        end
    end

    local initialPoints = GetInitialPoints(steamID)
    print(initialPoints)
    table.insert(players, {steamID, initialPoints, source})
end

function GetInitialPoints(steamID)
    local points = 0
    print(steamID)
    MySQL.Async.fetchAll("Select priority FROM queue where `identifier`= @identifier",
    {
        ['@identifier'] = steamID,
    },
    function(resp)
        points = resp[1].priority
        print(points)
    end)
    return points
end

, поэтому печать на самом деле печатает правильное значение (10000)

, но в функции возврата AddPlayer, где я печатаю Начальные точки это печать 0, это то, что я установил переменную при объявлении. Когда нужно печатать то, на что я указал.

1 Ответ

0 голосов
/ 02 февраля 2020
function AddPlayer(steamID, source)
    for i,p in ipairs(players) do
        if steamID == p[1] then
            players[i] = {p[1], p[2], source}
            return
        end
    end
    print(steamID)
    MySQL.Async.fetchAll(
        "Select priority FROM queue where `identifier`= @identifier",
        {
            ['@identifier'] = steamID,
        },
        function(resp)
            local initialPoints = resp[1].priority
            print(initialPoints)
            table.insert(players, {steamID, initialPoints, source})
        end
    )
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...