executeWithDelay не работает lua - PullRequest
2 голосов
/ 26 марта 2020

Я пытаюсь написать фиктивный логин при разработке моего приложения, чтобы мне не приходилось пинговать мои серверы. Я хотел отложить вход в систему, чтобы он выглядел так, как будто он ожидал ответа от сервера. По какой-то причине функция M: logInUser возвращается немедленно и не возвращает истину / ложь, как я ожидал.

Есть ли ошибка с executeWithDelay, которая удерживает его от задержки? Кроме того, функция обратного вызова не возвращает логическое значение? Любая помощь будет принята с благодарностью.

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

1 Ответ

1 голос
/ 26 марта 2020

Вам нужно передать функцию в performWithDelay вместо вызова функции и передачи результата:

return timer.performWithDelay( 2000, function() return mockLogIn(email, pass) end)

См. эту ветку форума для связанной дискуссии .

...