Непонятная аномалия
Доброй ночи.
Возникла непонятная аномалия. Следующая функция возвращает пустой массив,хотя я уверен,что результат sql-запроса не пустой,если делать лог внутри цикла,то там всё есть,но в массив видимо не ходит пизаться. var getList = function(){ var list = []; connection.query("SELECT * FROM list",function(err, result){ for(var i in result){ list.push(result[i]); } }); return list; } |
Потому что асинхронщина.
Цитата:
Изучай обещания - https://learn.javascript.ru/promise. function getList() { return new Promise((resolve, reject) => { connection.query("SELECT * FROM list", (err, rows) => { resolve(rows); }); }); } // где-то в другом месте getList().then((list) => { console.log(list); }); Ну и да, если уж ты все равно на ноде - почему не используешь ES6? https://learn.javascript.ru/es-modern |
Часовой пояс GMT +3, время: 02:29. |