无法从异步函数获取返回值

时间:2018-12-19 17:33:18

标签: javascript node.js asynchronous

我无法从JavaScript的异步函数获取返回值。根据此处How to properly return a result from mysql with Node?和此处Store mysql query rows in variable for later use的其他帖子,我尝试了几种不同的方法。我当前的代码如下。

function get_info(callback) {

    var mysql = require('mysql');
    var connection = mysql.createConnection({
        host: 'xxxxxxx',
        user: 'bob',
        password: 'bob',
        database: 'xxxxxx'
    });

    connection.connect(function (err) {

        if (err) throw err;
        connection.query("SELECT Name FROM webform", function (err, result) {
            if (err) throw err;
             return callback(result);
        });
        connection.end();
    });
}

 var newli = get_info(function(result){
    stuff_i_want = result;
   return stuff_i_want;
 });

console.log(newli);

我期望console.log(newli)打印出从stuff_i_want函数返回的get_info()的值,但是我却变得不确定。我试图从存储在变量中的result中获取connection.query的值,以后可以使用。

0 个答案:

没有答案