Страницы

Поиск по вопросам

вторник, 5 февраля 2019 г.

Как записать значение в переменную во время выполнения асинхронной функции JavaScript [дубликат]

На данный вопрос уже ответили: Как вернуть значение из события или из функции обратного вызова? Или хотя бы дождаться их окончания 3 ответа Имеется метод
function user_info (login) {
var info;
this.pool.getConnection(function(err, connection) { if (err) throw err; connection.query('SELECT * FROM user WHERE login = ?', [login], function (error, results, fields) { info = results; connection.release();
}); });
return info; }
В данном примере в info получаю undefined, тогда как в results записан объект(проверял через дебаг)
Мне нужно вернуть методом user_info объект results, как это сделать? Пробовал почти всё кроме промисов


Ответ

function user_info (login, callback) { this.pool.getConnection(function(err, connection) { if (err) throw err; connection.query('SELECT * FROM user WHERE login = ?', [login], function (error, results, fields) { connection.release(); callback(results); }); }); }
db.user_info(cookies.login, function(info){ /* code that uses user info */ });

Комментариев нет:

Отправить комментарий