javascript将函数中变量的参数值传递给父函数中的另一个

时间:2015-03-24 18:04:58

标签: javascript node.js express

我仍然是JS的初学者,我试图将x的值传递给y尝试y = x但是没有工作y返回为undefined,x作为值数组返回

exports.Get_info = function (name) {
   var y;
   db.query(query, params, function (err, results) {
      if (err) {  
         console.log('Error');
         throw err;
      } 
      var x = results.map(function (result) {
         data1 = result['name'];
         return data1;
      });
      console.log("x = " + x);
      y = x;
      return x;
   });
   console.log("y = " + y)
   return y;
}

1 个答案:

答案 0 :(得分:1)

return y完成之前执行db.query会发生什么。这就是y返回时未定义的原因。您应该使用回调将代码重写为异步。

exports.getInfo = function (name, callback) {

    db.query(query, params, function (err, results) {

        if (err){
            console.log('Error',err);
            return callback(err);
        }

        var x = results.map(function (result) {
            data1 = result['name'];
        });

        return callback(null, x);
    });
};

在旁注中,您应该使用camelCase进行变量和函数命名。