Можно ли экспортировать данные из функции .then? - PullRequest
0 голосов
/ 10 июля 2020

Я работаю с Node и MS SQL Server, используя модуль ms sql. При использовании обещания я хотел бы экспортировать или вернуть данные из функции .then . Возможно ли это или есть какие-то обходные пути?

getDb = function(){

// This code establishes connection to SQL Server

  const conn = new sql.ConnectionPool(dbConfig);
  const req = new sql.Request(conn)
  conn.connect()
  .then(function getData (req) {

// This code makes query to SQL Server

      req.query("SELECT * FROM USER")
      .then(function(res){

      console.log(res) // logs Correct User
      module.exports.user = res // logs undefined in main.js

      })
      .catch((err) => console.log(err))
    }
  )
  .catch(function (err) {
      console.log(err);
  });
}
getDb()

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 11 июля 2020

Вот простой способ экспортировать функцию getDb, импортировать и использовать ее в данных:

exports.getDb = () => {

    return new Promise((resolve, reject) => {
      const conn = new sql.ConnectionPool(dbConfig);
      const req = new sql.Request(conn)
      conn.connect().then(req => {
        return req.query("SELECT * FROM USER")
      }).then(res => {
        return resolve(res);
      }).catch(err => {
        console.log(err)
      })
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...