获取回调函数sql的值

时间:2013-12-25 13:52:33

标签: javascript sql

我对这些变量有问题,我想检查它们是否相同,如果是,我希望整个函数“overeni”返回true,但是变量是未定义的,我几乎尝试了所有内容。

function overeni(id,auth){
  var sqlid;
  var sqlauth; 
  var sql = "SELECT id FROM login WHERE auth = " + client.escape(auth);
  client.query(sql ,function(err,res){      
    console.log(res[0].id); 
    sqlid = res[0].id;
  });
  var sql = "SELECT auth FROM login WHERE id = " + client.escape(id); 
  client.query(sql ,function(err,res){ 
    console.log(res[0].auth);
    sqlauth = res[0].auth;
  }); 
  if(id == sqlid && auth == sqlauth){
  return true;
  }
  else{
  return false;
  }    
}

1 个答案:

答案 0 :(得分:0)

我认为有两种方式

1)使用回调而不是返回

function overeni(id,auth, callback){
....
client.query(sql ,function(err,res){      
    .....
    if (sqlid  && sqlauth) {callback(sqlid, sqlauth);}

});

2)或使用一些延迟库(如jquery / when / Q等)