簡體   English   中英

如何從Nodejs中的查詢結果中獲取字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM