首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Node.js中的mysql查询中无法访问变量?

在Node.js中的mysql查询中无法访问变量?
EN

Stack Overflow用户
提问于 2018-10-10 00:55:13
回答 1查看 0关注 0票数 0

嗨我正在将一个bot框架的会话变量传递给这个函数,它工作正常但是当我尝试在conn.query(内部函数)中访问它时,它是无法访问的。这是代码片段

function hopitalSearch(city, treatment, context, callback) {
    conn = mysql.createConnection(db_config);
    conn.connect(
    function (err) { 
        if (err) { 
            console.log("!!! Cannot connect !!! Error:");
            throw err;
        } 
    });
    var hospitalList = [];
    var basic_query = 'SELECT hospital_name FROM hospital_list WHERE hospital_location="' + city + '" AND treatment_name="' + treatment + '" LIMIT 10';
    conn.query(basic_query, function (err, results, fields) {
        if (err) throw err;
        for (var i = 0; i < results.length; i++) {
            hospitalList.push(JSON.stringify(results[i].hospital_name));
        }
        console.log(hospitalList);
        console.log("showing context")
        console.log(context); //not accessible
    }); }
EN

回答 1

Stack Overflow用户

发布于 2018-10-10 10:34:26

尝试使用async / await。

注意:不要忘记使用TRY / CATCH。

async function hopitalSearch(city, treatment, context, callback) {
  conn = mysql.createConnection(db_config);
  await conn.connect();
  var hospitalList = [];
  var basic_query = 'SELECT hospital_name FROM hospital_list WHERE hospital_location="' + city + '" AND treatment_name="' + treatment + '" LIMIT 10';
  var results = await conn.query(basic_query);
  for (var i = 0; i < results.length; i++) {
      hospitalList.push(JSON.stringify(results[i].hospital_name));
  }
  console.log(hospitalList);
  console.log("showing context")
  console.log(context);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档