lua - 没有返回正确的值
问题描述
你好,我有 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
所以打印实际上打印了正确的值(10,000)
但是在我打印初始点的函数 AddPlayer 的返回中,它打印的是 0,这是我在声明时设置的变量。当它需要打印我设置的点时。
解决方案
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
推荐阅读
- bash - Jenkinsfile 没有执行整个 shell 脚本
- c++ - 是否可以使用符合 C++17 的 C++14 创建迭代器?
- ios - 您通常如何在 iOS 键盘上显示此“密码”按钮?
- sql - sql developer更改连接密码
- javascript - db.all 函数不作为数组变量返回
- html - SVG 在加载时超大,直到 CSS 启动
- python - 为什么 Python 列表乘法会创建一个包含多个元素的列表?
- javascript - Javascript如何使用window.open将变量传递给URL查询
- xampp - Orangescrum 卡在数据库配置:错误的数据库信息。请尝试使用正确的信息
- ios - Xcode 错误:此时无法安装此应用