【发布时间】:2021-07-24 20:14:50
【问题描述】:
我是 Node.js 的新手,我正在 Wix 上测试一些代码来检查我的数据库是否在允许创建新帐户名称之前已经存在(我故意不使用 WHERE 标记用于学习目的的时刻)。
当前方法检查帐户名称在连接完成之前返回,不允许正确进行检查。
任何帮助表示赞赏。
export function tryToCreateAccount(login, password)
{
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'host',
user: 'user',
password: 'pass',
database: 'db'
});
if(checkAccountName(login, connection))
{
console.log("Name didn't exist.");
}
else
{
console.log("Name Existed.");
}
}
function checkAccountName(account_name, connection)
{
var accountNameAvailable = true;
connection.connect(function (err)
{
if(err) throw err;
connection.query("SELECT login FROM accounts", function (err, result)
{
if (err) throw err;
for(var i = 0; i < result.length ; i++)
{
if(result[i].login == account_name)
{
console.log("Should of been false");
connection.end;
accountNameAvailable = false;
}
}
});
connection.end;
});
return accountNameAvailable;
}
【问题讨论】:
标签: mysql node.js asynchronous wait