Узел js call вызов асинхронной функции - PullRequest
0 голосов
/ 16 сентября 2018

Я вызываю следующую функцию, которая находится в другом файле. Эти данные поступают из вызова 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 голосов
/ 16 сентября 2018

Добавление операторов возврата, как показано ниже, решит вашу проблему: -

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);               
    });
  }
}
...