Я создаю сервер узлов, который помогает мне управлять базой данных. Я создаю обзор, сколько элементов внутри определенной очереди стола в базе данных, для этого я использую следующую функцию:Ожидание обещания перед возвратом значения
var getRowCount = function(table) {
var result = 0;
new sql.Request()
.query('SELECT COUNT(*) AS count FROM Queue_' + table)
.then(function(recordset) {
result = recordset[0].count;
})
.catch(err => console.dir(err));
return result;
};
Примечания: Я использую ES6 но я transpiling с Бабелем, то есть почему я не использую шаблонные письма для SQL-запроса.
Моя проблема заключается в том, что эта функция всегда возвращает 0
при отправке информации моему клиенту (через socket.io). Как дождаться обещания запроса перед возвратом результата?
Для SQL я использую node-mssql
То, что я пытался добиться, спасибо! – Marv
'sql.Request' сам возвращает обещание, поэтому просто верните это. Использование отложенных таким образом является анти-шаблоном. – CodingIntrigue
@RGraham Спасибо, я не заметил, что единственное, что нужно сделать, это вернуть результат обещания. Я исправил свой ответ – buddy123