在回调SQL查询中返回数据

时间:2019-02-18 20:49:54

标签: javascript asynchronous callback

嘿,我正在尝试将项目数据从一个类返回到另一个类。我不知道发生了什么,但我的项目数据未定义。我出于隐私原因删除了SQL查询。

var oracledb = require("oracledb");
var dbConfig = require("./dbconfig.js");
var project = {}


async function connect () {
  oracledb.getConnection(
    {
      user: dbConfig.user,
      password: dbConfig.password,
      connectString: dbConfig.connectString
    },
    function(err, connection) {
      console.log("Is this being called dude?");
      if (err) {
        console.error(err.message);
        return;
      }
      console.log("Connection was successful!");

      connection.execute(
        `SELECT`
        ,
        function(err, result) {
          if (err) {
            console.error(err.message);
            doRelease(connection);
            return;
          }

          var index = 0;
          result.metaData.forEach((item) => {
            project[item.name] = result.rows[0][index]
            index+=1
          })

          // console.log(project);
          doRelease(connection);
        }
      );
    }
  );
    return new Promise(function(resolve, reject) {
      resolve(project)
    })
  }

const doRelease = connection => {
  connection.close(function(err) {
    if (err) {
      console.error(err.message);
      return;
    }
  });
};


module.exports = {
  connect
};

主班

var dbHelper = require("./helpers/database/connect");

async function test() {
    return await dbHelper.connect();
}
test().then((project) => {
    console.log(project)
})

当涉及到普通的JavaScript回调等时,我迷路了。我只是想返回由connect.js构建的最终对象。不知道现在发生了什么,所以我绝对可以使用一些帮助。所有帮助表示赞赏和欢迎。我真的不知道我在做什么错,因此非常欢迎所有帮助。谢谢!

0 个答案:

没有答案