为什么我的 Node.js MS SQL 脚本永远不会结束,除非我按 CTRL+C 退出它?

Why does my Node.js MS SQL script never end unless I CTRL+C out of it?

await 关键字只能在 async 函数内部使用,因此我创建了一个异步的 main() 并在全局级别执行它。一切都运行正常,但程序在事件循环中停留在那里,永远不会结束。我可以添加 process.exit() 但它看起来很笨重。

const mssql = require('mssql');

;(async function main() {
    console.log("Started");
    try {
        await mssql.connect(process.env.CONNECTION_STRING);
        const result = await mssql.query`SELECT CHECKSUM('a')`;
        console.dir(result);
        console.log("Success!");
    } catch (err) {
        console.log(err);
        console.log("Failed!");
    }
    console.log("Finished");
})();

我认为这与 mssql 模块的特性有关。

查询后连接是否自动关闭?

如果不是我认为问题是你需要关闭连接然后它会结束进程。

希望对您有所帮助!