Lua 没有返回正确的值
您好,我有两个函数,一个用于返回值Lua 没有返回正确的值,lua,Lua,您好,我有两个函数,一个用于返回值 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(s
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,这是我在声明变量时设置的值。当它需要打印我设置的点时。因为异步调用,并且不期望请求结束。当从
GetInitialPoints
返回时,points
值仍然未知。
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