无法访问异步函数外的变量[重复]

问题描述 投票:1回答:2

这个问题在这里已有答案:

如何在函数外部访问结果变量。


con.query(
    "SELECT * FROM table WHERE particulars = 'data'",
    (error, results) => {
      if (error) {
        return console.error(error.message);
      }
      console.log(results);
    }
  );

Console.log在函数内工作正常,但是当我返回结果变量以在函数外部使用它时,我得到一个未定义的变量。我知道我应该使用像异步函数这样的东西,但在这种情况下我无法弄清楚如何使用它。

先感谢您。

javascript node.js
2个回答
0
投票

如果你需要使用async-await它应该是:

async function getParticulars() {
    const results = await con.query("SELECT * FROM table WHERE particulars = 'data'");
   //Process results here 
}

我知道我的答案非常抽象,但它应该引导你找到答案。为了让您更深入地了解这个async代码,我需要知道您使用什么库来查询数据库。干杯,sigfried。


0
投票

您可以将结果返回给变量

const results = con.query(
    "SELECT * FROM table WHERE particulars = 'data'",
    (error, results) => {
      if (error) {
        return console.error(error.message);
      }
      return results
    }
  );
© www.soinside.com 2019 - 2024. All rights reserved.