Непонятная аномалия
Доброй ночи.
Возникла непонятная аномалия. Следующая функция возвращает пустой массив,хотя я уверен,что результат 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, время: 20:01. |