У меня проблема с получением имени ресторана из db с помощью node.js, похоже, что он должен что-то делать с параметрами обратного вызова, но я не могу найти решение для своего дела, надеюсь, один из вы можете мне помочь .Функция node.js возвращает неопределенное значение
Я создал функцию, которая получает название ресторана из базы данных. Первая строка журнала консоли дает правильное значение retvalue, а второе - неопределенное, как я могу написать код, чтобы возвращаемое значение было именем ресторана?
С наилучшими пожеланиями, Роберт
function restaurantName(id) {
var retvalue;
try {
F.model('restaurant').load(id).then(function (restaurant) {
retvalue = restaurant.Name;
console.log('restaurantName 1(' + id + ')' + retvalue);
})
} catch (err) {
retvalue = 'Error';
}
console.log('restaurantName 2(' + id + ')' + retvalue);
return retvalue;
};
Не можете ли вы сохранить второй 'console.log' внутри блока' try' ? –
Вы не обрабатываете случайную ошибку в своей функции обратного вызова. –
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-do-return-the-response-from-an-asynchronous-call) –