Javascript 无法访问异步函数外部的变量

Javascript 无法访问异步函数外部的变量,javascript,node.js,Javascript,Node.js,如何访问函数外部的结果变量 con.query( "SELECT * FROM table WHERE particulars = 'data'", (error, results) => { if (error) { return console.error(error.message); } console.log(results); } ); Console.log在函数内部工作正常,但当我返回re

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


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

Console.log在函数内部工作正常,但当我返回results变量以在函数外部使用它时,会得到一个未定义的变量。我知道我应该使用异步函数之类的东西,但我不知道在这种情况下如何使用它


提前感谢您。

如果您需要使用
异步等待
它应该是:

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

我知道我的答案很抽象,但它应该能引导你找到答案。为了让您对这个
async
代码有更多的了解,我需要知道您正在使用哪个库来查询数据库。干杯,西格弗里德。

如果您需要使用
异步等待
它应该是:

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

我知道我的答案很抽象,但它应该能引导你找到答案。为了让您对这个
async
代码有更多的了解,我需要知道您正在使用哪个库来查询数据库。干杯,西格弗里德。

您可以将结果返回到变量

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

您可以将结果返回到变量

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