从查询NodeJ返回结果

时间:2019-12-02 13:08:38

标签: javascript node.js postgresql

您好,有人可以告诉我如何返回要在另一个类中使用的查询的值。这是我的查询:

var pconn = require('./db.js');
var dadosMsg = null
  
 function getValueMsg(){

    pconn.pool.query('SELECT b.numero_serie, b.grupo_msg, b.index_msg, b.valor_msg FROM  bor_msg b LIMIT 1', (err, rows) => {
        if (!err) {
            dadosMsg = rows.rows[0];
            return dadosMsg;
        } else {
            return err;
            console.log(err);
    }
});  

}

我想在此类中返回查询值

var x = require('./dbmsg');

x.getValueMsg();
console.log(x.dadosMsg.valor_msg);

1 个答案:

答案 0 :(得分:0)

您可以使用field1Promises用于处理JavaScript中的异步操作

Promise构造函数仅接受一个参数,即回调函数。 回调函数带有两个参数,即resolve和拒绝 在回调函数中执行操作,如果一切顺利,则调用resolve。 如果所需的操作进行不顺利,请致电拒绝。

Promise

//其他文件

  function getValueMsg() {

    return new Promise((resolve, reject) => {

        pconn.pool.query('SELECT b.numero_serie, b.grupo_msg, b.index_msg, b.valor_msg FROM  bor_msg b LIMIT 1', (err, rows) => {
            if (!err) {
                dadosMsg = rows.rows[0];
                resolve(dadosMsg);
            } else {
                console.log(err);
                reject(err);
            }
        });

    });
 }