-1
我正在創建一個節點服務器,它可以幫助我管理數據庫。我創造了多少元素在數據庫中有一定的隊列表內的概覽,我使用下面的函數:返回值前等待承諾
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查詢的模板文字。
我的問題是,當將信息發送到我的客戶端(通過socket.io)時,此函數始終返回0
。如何在返回結果之前等待查詢的承諾?
對於SQL我使用node-mssql
正是我想要成就的,謝謝! – Marv
'sql.Request'本身返回一個promise,所以只需返回它。以這種方式使用延遲是一種反模式。 – CodingIntrigue
@Rraham謝謝,我沒有注意到唯一要做的就是返回承諾的結果。我修復了我的答案 – buddy123