Задать вопрос

Как выполнить sql запрос используя async/await в node 7?

Допустим я использую node-mysql из npm для выполнения sql-запросов. С появлением node 7 и поддержки ней async/await, хотелось бы понять, как можно применить это для выполнения sql запросов? Задача в целом написать класс-обертку для node-mysql, чтобы потом можно было делать нечто вроде:
let data = new MySqlWrapper().select(query);
ну и в итоге в data мы имеем результат выполнения запроса.

Подскажите как можно реализовать это на данном примере (он не работает, в res у нас undefined):
(async () => {
            let getData = async ()=> {
                db.query(`select * from users`,null,(err,data) =>{
                    console.log('ok');
                    return data;
                });
            };

            var res = await getData();
            //нужно чтобы в res пришли данные запроса
})();
  • Вопрос задан
  • 1118 просмотров
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@zekohina
Если select возвращает промис, то во так вот:
async function run() {
 let data = await (new MySqlWrapper()).select(query);
}

run();


При этом ноду нужно запускать с флагом --harmony
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы