Node.js 我不知道';我无法访问变量

Node.js 我不知道';我无法访问变量,node.js,variables,express,Node.js,Variables,Express,这是我的第一个问题 所以,我使用的是NodeJS+Express 这是我的密码: request(urlPrice, function(err, resp, body){ priceInfo = JSON.parse(body), medianPrice = priceInfo.median_price, changePrice = medianPrice.replace(',','.'), finallyPrice = parseFloat(changePric

这是我的第一个问题

所以,我使用的是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


请帮帮我。

试试这个,变量只在请求回调处理程序中设置

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);
});

我猜您希望访问应用程序实际请求部分之外的finallyPrice变量


要做到这一点,您必须导出对象,以便在定义对象的函数范围之外访问对象。这是如何在节点中来回传递变量:。对于一篇解释这一切是如何工作的初学者文章,您可能想查看以下内容:

Log priceInfo并发布您的json。应该检查变量的范围。不确定我是否同意这是一个重复的问题。使用NodeJS和Express以及传递从路由返回的信息的细微差别与在常规Javascript中返回异步数据不同。是的,我知道这项工作。但是我需要在请求之外使用finallyPrice变量。您的解决方案有效,我有来自json的上下文。我想在请求外部使用finallyPrice变量,但这不起作用。我想修复它,但我不知道如何修复。你说的请求外部是什么意思。你是说另一个要求?由于它是一个web应用程序,我假设您只处理请求。感谢您的帮助,这是一个同步的web请求。