Проблема получения возвращаемого значения из асинхронной функции - PullRequest
0 голосов
/ 19 декабря 2018

У меня проблемы с получением возвращаемого значения из асинхронной функции в JavaScript.Я пробовал несколько разных подходов, основанных на других постах, найденных здесь - Как правильно вернуть результат mysql с Node? и здесь Сохранять строки запроса mysql в переменной для последующего использования .Мой текущий код выглядит следующим образом.

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, хранящегося в переменной, которую я могу использовать позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...