Я сделал прослушиватель событий для своего сервера, который слушает, когда кто-то пытается войти в систему, поэтому я делаю SQL-запрос, а затем, если информация совпадает, он регистрирует их на. проблема заключается в ее тестировании, если информация соответствует до того, как он выполнит запрос, чтобы он всегда возвращал false. Вот мой кодфункция выполняется до завершения sql-запроса, узел js
player.on('checkLogin', function(data)
{
var logIn = "";
connection.query({
sql: "SELECT * FROM users WHERE username = ?",
values: [data.user] },
function(error, results, fields)
{
if (error)
{
console.log(error);
}
if(results)
{
var pass = "";
for (i = 0; i < results.length; i++)
{
pass = (results[i].password);
}
var input = crypto.createHash('md5').update(data.pass).digest("hex");
if (pass == input)
{
logIn = true;
}
}
});
if (logIn == true)
{
this.em.emit('login',
{
id: player.playerid
});
}
}.bind(this));
Я слышал обещание будет исправить это, но есть ли простой способ обойти это ?, заранее спасибо
Этот вопрос задается постоянно. Вы должны ответить * внутри * обратный вызов. Просто замените 'logIn = true;' на любой код, который вы хотите запустить внизу. –
Я получаю сообщение об ошибке «не могу прочитать свойство« испускать »неопределенного« когда он пытается войти в систему –