У меня есть запрос к базе данных в функции, которая возвращает результат этого запроса, а в другой функции я хочу получить этот результат, но я не знаю, как сделать эту асинхронность. Я использую библиотеку «mysqloo» https://github.com/FredyH/MySQLOO для запросов к базе данных.
Первая функция с запросом:
function meta:getMoney()
local query2 = databaseObject:query("SELECT economy FROM luvinsastroi_player WHERE steamid = '" .. self:SteamID64() .. "' ")
query2.onData = function( q, d)
return tonumber(d['economy'])
end
query2:start()
end
затем:
hook.Add( "PlayerSay", "MoneyCommand", function( ply, text, team )
if(text == "/money") then
local money = ply:getMoney()
ply:PrintMessage( HUD_PRINTTALK, "Vous avez " .. money .. "€." )
end
end )
Во второй функции деньги равны нулю и так Error on ply:PrintMessage ( HUD_PRINTTALK, "Vous avez " .. money .. "€." ) attempt to concatenate a nil value (money)
Как ждать return tonumber(d['economy'])
от функции meta:getMoney()
?