2015-07-10 4 views
0

Это мой первый вопрос.У меня нет доступа к переменной

Итак, я использую NodeJS + Express.

Вот мой код:

request(urlPrice, function(err, resp, body){ 
    priceInfo = JSON.parse(body), 
    medianPrice = priceInfo.median_price, 
    changePrice = medianPrice.replace(',','.'), 
    finallyPrice = parseFloat(changePrice).toFixed(2); 
}); 

console.log(finallyPrice); 

Что я могу сделать? Потому что в console.log() переменная finallyPrice равна undefined.

Пожалуйста, помогите мне.

+0

Зарегестрируйте ценуИнформация и отправьте свой json, пожалуйста. –

+0

Необходимо проверить масштаб переменной. –

+0

Не уверен, согласен ли я, что это дублированный вопрос. Нюансы использования NodeJS и Express и передачи обратно информации, возвращенной с маршрута, - это не то же самое, что возвращение данных async в обычный Javascript. –

ответ

0

Попробуйте это переменные устанавливается только в обработчике запроса обратного вызова

request(urlPrice, function(err, resp, body){ 
    priceInfo = JSON.parse(body), 
    medianPrice = priceInfo.median_price, 
    changePrice = medianPrice.replace(',','.'), 
    finallyPrice = parseFloat(changePrice).toFixed(2); 
    console.log(finallyPrice); 
}); 
+0

Да, я знаю эту работу. Но мне нужно использовать переменную finallyPrice вне запроса. Ваше решение работает, и у меня есть контекст от json. Я хочу использовать переменную finallyPrice за пределами запроса, тогда это не работает. Я хочу восстановить это, и у меня нет идеи, как это сделать. –

+0

Что вы подразумеваете под внешним запросом. вы имеете в виду другой запрос? Поскольку это веб-приложение, я предполагаю, что вы имеете дело только с запросами. – kiran

+0

Спасибо за помощь, это был синхронный веб-запрос. –

0

Im предполагает, что Вы хотите получить доступ к переменной finallyPrice вне фактического запроса части вашего приложения.

Для этого вам нужно будет export ваших объектов, чтобы они могли быть доступны за пределами функции, в которой они определены. Это как передать переменные взад и вперед в узле: https://nodejs.org/api/modules.html#modules_module_exports. Для новичков, объясняющих, как это все работает, вы можете это проверить: http://openmymind.net/2012/2/3/Node-Require-and-Exports/

Смежные вопросы