【问题标题】:Why does my Node.js MS SQL script never end unless I CTRL+C out of it?为什么我的 Node.js MS SQL 脚本永远不会结束,除非我 CTRL+C 退出它?
【发布时间】:2020-03-19 12:47:13
【问题描述】:

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 模块的特性有关。

【问题讨论】:

    标签: node.js async-await node-sqlserver


    【解决方案1】:

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

    如果不是,我认为问题在于您需要关闭连接,然后它将结束该过程。

    我希望这会有所帮助!

    【讨论】:

    • 天哪,我现在觉得自己很愚蠢。我添加了await mssql.close(),它优雅地结束了。这会很好地添加到文档中的示例中:npmjs.com/package/mssql
    猜你喜欢
    • 2023-04-06
    • 2015-08-28
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 2014-06-06
    相关资源
    最近更新 更多