Я пишу код для получения данных. первым я называю getsomedata функцию, чтобы получить данные и внутри getsomedata функции Я зову другую функцию getRandomdata, чтобы получить данные и вернуть его обратно к предыдущей функции, но она возвращается неопределенной. но в getRandomdata данные получаются. где-то говорит об использовании обратных вызовов. Я новичок в javascript. пожалуйста помоги. мой код выглядит.Функция Javascript, возвращающая неопределенное значение в узле js
router.get('/get-data', function(req, res, next) {
var result = getsomedata(some_parameter);
console.log(result); // recieving undefined
res.send(result);
});
function getsomedata(some_parameter_recieved) {
var getsomedata = getRandomdata(random_params);
console.log (getsomedata); // recieving undefined
return getsomedata;
}
function getRandomdata(random_params_recieved) {
// after some calculation
console.log(random_data); // recieving prpper data
return random_data;
}
Добро пожаловать в 'asynchronous' программирования! Читайте о 'callbacks' или' Promise' – Rayon
Возможно, вам нужно вернуть значения из 'callback'. Попробуйте этот http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/ –
Возможный дубликат [Как вернуть значение из асинхронной функции обратного вызова?] (Http://stackoverflow.com/questions/6847697/how-to-return-value-from-a-asynchronous-callback-function) – Gavriel