我正在尝试在开发应用程序时编写模拟登录,因此我不必实际对服务器进行ping操作。我想延迟登录,以使其看起来像等待服务器的响应。由于某些原因,M:logInUser函数将立即返回,并且不会像我期望的那样返回true / false。
performWithDelay是否存在错误,导致它无法延迟?另外,回调函数是否不返回布尔值?任何帮助将不胜感激。
local function mockLogIn( email, pass )
for _, user in ipairs(mockUsers.data) do
if (email == user.email and pass == user.password) then
return true
end
end
return false
end
function M:logInUser( email, pass )
return timer.performWithDelay( 2000, mockLogIn(email, pass))
end
您需要将函数传递给performWithDelay
,而不是调用函数并传递结果:
return timer.performWithDelay( 2000, function() return mockLogIn(email, pass) end)