Javascript mysql返回promise而不是sql查询[重复]

问题描述 投票:0回答:1

所以我正在学习 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);
javascript mysql node.js promise
1个回答
0
投票

一般来说,对于 Promise,你必须继续操作才能让它们返回输出。

r.then(output => {
    console.log(output);
});
© www.soinside.com 2019 - 2024. All rights reserved.