Node JS SQL-节点程序未退出

时间:2019-09-22 17:49:36

标签: node.js

我是Node js的新手。我知道事件循环,如果有任何回调或事件仍在等待中,节点将等待。我已经编写了连接数据库和获取数据的代码。即使在读取数据之后,节点也不会退出。

var sql = require("mssql");
var config = {
    user: 'data',
    password: 'abc@123',
    server: 'localhost', 
    database: 'master' 
};
sql.connect(config, function (err) {
    var request = new sql.Request();
    var i;
    request.query('GetData').then(
        ri=>{
          console.log(ri.recordset.map(o=>o.Key));
        })

})

有人可以帮我为什么吗?

1 个答案:

答案 0 :(得分:0)

您可以在查询完成后关闭连接,这将使过程退出:

var sql = require("mssql");
var config = {
    user: 'data',
    password: 'abc@123',
    server: 'localhost', 
    database: 'master' 
};

sql.connect(config).then(pool => {
    var request = new sql.Request();
    request.query('GetData;').then(ri => {
        console.log(ri.recordset.map(o => o.Key));
        // Close the pool now we're done with it...
        pool.close();
    });
}).catch (err => {
    console.error("An error occurred:", err);
});