节点js调用异步函数调用

时间:2018-09-16 11:30:37

标签: function asynchronous return-value

我正在调用另一个文件中的以下函数。此数据来自MySQL调用。当我调用此函数时,得到“未定义的值,该函数不返回任何值”。

var employee_fun = require('./public/Master/manager.js');
function getJobType(param){       
    return employee_fun.getJobType(param,function(res){
        return res
    });
}

manager.js

module.exports={
    getJobType(data,callback){
        var sql="SELECT id FROM employee_types where jobtype='"+data+"'";
        mysqlcon.query(sql, function (err, result, fields) {
            callback(result[0].id);
            if (err) throw err;   
        });
    }
}

1 个答案:

答案 0 :(得分:0)

添加如下所示的return语句将解决您的问题:-

module.exports= {

  getJobType(data,callback){
    var sql="SELECT id FROM employee_types where jobtype='"+data+"'";
    return mysqlcon.query(sql, function (err, result, fields) {            
        if (err) throw err;
        return callback(result[0].id);               
    });
  }
}