[英]How to get a string from query result in Nodejs
我的代碼在下面的 Nodejs 后端
app.get('/room_selected', function (req, res){
var clientID = 'a@gmail.com';
var room = 'Room 1';
var query = connection.query ('SELECT clientID FROM clientDevices WHERE deviceName = ?', [room],
function (err, rows, fields){
if (err) throw err;
return rows[0].clientID;
});
console.log (query);
if (clientID == query){
res.status(400).json ('success');
} else {
res.status(400).json('The selected room does not have a device attached');
}
});
當我打印 console.log(query) 時,它返回 [ { clientID: 'a@gmail.com' } ]。
我只想返回a@gmail.com 。 大佬知道怎么解嗎? 因為我希望它與 clientID 進行比較以打印出成功消息,但是,它打印出所選房間沒有連接設備
請幫忙。 謝謝
在您的代碼中,您沒有等待執行查詢。 以下是僅在執行查詢后才會給出響應的代碼。
而且成功不應該有 400 的狀態代碼,所以我刪除了狀態代碼為 200 的內容
app.get('/room_selected', function (req, res){
var clientID = 'a@gmail.com';
var room = 'Room 1';
var query = connection.query ('SELECT clientID FROM clientDevices WHERE deviceName = ?', [room],
function (err, rows, fields){
if (err) throw err;
if (rows.length && clientID == rows[0].clientID){
res.json('success');
} else {
res.status(400).json('The selected room does not have a device attached');
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.