javascript - 在nodejs中使用mssql(插入行的函数)

标签 javascript sql-server node.js

所以,我是 Nodejs 新手,现在我正在尝试根据从客户端收到的操作进行插入。

我有一个函数模块,由路由调用它来执行某些任务。每个操作都需要记录在mssql表中,所以我选择使用npm中的mssql。

https://www.npmjs.com/package/mssql

函数模块中的每个函数都会调用 saveActionToDB 函数,该函数接收一个操作和一个用户名,以将数据插入到表中,如下所示:

function saveActionToDB(action, user){
    if (config.Logging.DB.type == 'mssql'){
        const dbOptions = {
            user: config.Logging.DB.user,
            password: config.Logging.DB.password,
            server: config.Logging.DB.server,
            database: config.Logging.DB.database,
            options: {
                encrypt: config.Logging.DB.encrypt
            }
        };
        const database = require('mssql');
        async () => {
            try{
                const pool = await database.connect(dbOptions);
                const result = await database.query(`insert into actions (action, user) values ("${action}", "${user}")`);
                console.log(pool);
            }
            catch (err){
                console.log(err);
                combinedLogger.error(err);
            }
        }
    }
    else if(config.Logging.DB.type == 'oracle'){
        //oracle
    }
}

应用程序需要能够使用 mssql 或 oracle。这就是为什么它检查 config.Logging.DB.type val 以使用两者中的每一个。

现在,函数调用 saveActionToDB,但它不执行任何操作。也没有错误。我猜这是异步问题的问题。

请注意,我不需要等待 saveActionToDB 结束才能响应客户端。

有人可以帮忙吗?

最佳答案

您没有调用异步函数。这只是声明了一个函数,但并不执行。 async() => {

看这个例子

console.log('a');
x = async () => {
  console.log('b');
}

console.log('c');
x();

输出为a c b。但是如果我这样做

console.log('a');
async () => {
  console.log('b');
}

console.log('c');

输出只是c

关于javascript - 在nodejs中使用mssql(插入行的函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50217939/

相关文章:

javascript - 为一个大区域或许多小区域制作动画翻译更好吗?

javascript - RegExp 不会产生预期的结果,但它在其他地方都会产生

sql - 将 varchar 转换为日期

sql-server - 我该如何通过2个连接来进行 "FOR JSON"

node.js - 当我运行任何与 npm 有关的命令时显示错误时如何解决问题

javascript - 如何仅在单击表头时在表头上应用样式并在单击任何其他表头时删除样式?

javascript - MongoDB 中的 "JavaScript with Scope"是什么

sql-server - 存储过程在 EF6 模型浏览器中可见,但无法从代码中调用它

node.js - 全新 MEAN.io 安装中无法识别 MongoDB

javascript - S3 : How to upload a large file using S3 in nodejs using aws-sdk