Узел js call вызов асинхронной функции
Я вызываю следующую функцию, которая находится в другом файле. Эти данные поступают из вызова 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 ответ
Добавление деклараций возврата, как показано ниже, решит вашу проблему:-
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);
});
}
}