Piszę kod do pobierania danych. pierwszy zgłoszę getsomedata funkcję, aby uzyskać dane i wewnątrz getsomedata funkcji Wołam inną funkcję getRandomdata aby uzyskać dane i wraca z powrotem do poprzedniej funkcji, ale jest zwrócenie niezdefiniowane. ale w getRandomdata gromadzone są dane. gdzieś mówi o użyciu callbacków. Jestem nowy w javascript. proszę pomóż. mój kod wygląda.Funkcja JavaScript zwracająca niezdefiniowaną wartość w węźle 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;
}
Witamy 'programowania asynchronous'! Przeczytaj o 'callbacks' lub' Promise' – Rayon
Prawdopodobnie musisz zwrócić wartości z 'callback'. Wypróbuj http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/ –
Możliwy duplikat [Jak zwrócić wartość z asynchronicznej funkcji wywołania zwrotnego?] (Http://stackoverflow.com/questions/6847697/how-to-return-value-from-an-asynchronous-callback-function) – Gavriel