无法将connection.query的结果返回到Node.js中的其他函数

时间:2019-07-24 06:54:30

标签: mysql node.js aws-lambda

我正在尝试通过lambda将数据插入mysql表。

insert.js:

var connection = require('../common/connection');

exports.insertData = async (request, context, callback) => {
    var query = "INSERT INTO " + request.tableName + "(" + request.columnsString + ") VALUES ( " + request.valuesString + ")";
    await connection.connection().query(query, function (error, results) {
        connection.connection().destroy();
            if (error) {
                callback(error,null);
            } else {
                console.log(results.insertId);
                callback(null, results.insertId);
            }
    });
};

callinsert.js:

exports.insertCall = async (request, context, callback) => {
        var abc = await insert.insertData(request, context, callback);
        console.log("abv:", abc);
        return abc;
};

此代码返回未定义。

console.log的结果如下:

第一次测试代码时,它给我正确的结果,id的返回值为1。但是第二次,它再次给我1。当我下次运行它时,它给我前一行的ID(即如果插入第3行则返回2,如果插入第4行则返回值为3,依此类推)。有时它返回前一个ID的相同值。没有得到正确的结果。请帮助我在这里找到我做错了。

console.log第一次测试的结果:

INFO    abv: undefined
INFO    Connected to database.
INFO    1

0 个答案:

没有答案