Tôi đang viết mã để nhận dữ liệu. đầu tiên tôi gọi getsomedata chức năng để có được dữ liệu và bên getsomedata chức năng tôi kêu gọi một chức năng getRandomdata để lấy dữ liệu và gửi lại nó trở lại chức năng trước đó nhưng nó đang trở lại không xác định. nhưng trong dữ liệu getRandomdata đang nhận được. một nơi nào đó nói về việc sử dụng gọi lại. tôi mới vào javascript. Hãy giúp tôi. mã của tôi trông giống như thế.Hàm Javascript trả về giá trị không xác định trong nút 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;
}
Chào mừng bạn đến 'lập trình asynchronous'! Đọc về 'callbacks' hoặc' Promise' – Rayon
Bạn có thể cần phải trả về giá trị từ 'callback'. Thử http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/ –
Sao chép có thể có của [Cách trả về giá trị từ hàm gọi lại không đồng bộ?] (Http://stackoverflow.com/questions/6847697/how-to-return-value-from-an-không đồng bộ-gọi lại-chức năng) – Gavriel