所以我正在学习 Javascript (Node.js),并且无法弄清楚为什么下面的代码会产生:
Promise { <pending> }
(它挂起并且未完成)
我希望
doit()
函数在发生错误时返回“ERROR”,或者列出 SQL 查询的结果。
如有任何帮助,我们将不胜感激。
const mysql = require("mysql2/promise");
doit = async() => {
let ret;
let pool;
try
{
let pool = await mysql.createPool({
host: '127.0.0.1',
user:'appUser',
password: 'Password123',
database: 'bugtracker',
connectionLimit: 10
});
ret = await pool.query("SELECT * FROM UsersTable")
}
catch (err)
{
ret = "ERROR";
}
// All done
if (typeof pool !== 'undefined')
{
pool.end();
}
return ret;
}
let r = doit();
console.log(r);
一般来说,对于 Promise,你必须继续操作才能让它们返回输出。
r.then(output => {
console.log(output);
});