Javascript Can';t在请求中编辑变量
我试图在请求中修改变量。但我不知道为什么它没有被修改Javascript Can';t在请求中编辑变量,javascript,json,node.js,request,Javascript,Json,Node.js,Request,我试图在请求中修改变量。但我不知道为什么它没有被修改 const request = require("request"); var all = JSON.parse(body); var steamplayer = all['response']['players']['player'][0]; var sgameh = "Nessun gioco"; request({ url: "https://example.com", method : 'GET' }, functio
const request = require("request");
var all = JSON.parse(body);
var steamplayer = all['response']['players']['player'][0];
var sgameh = "Nessun gioco";
request({
url: "https://example.com",
method : 'GET'
}, function (error, response, body){
var sgameall = JSON.parse(body);
var fgame = sgameall['response']['games'].filter(function(item) {
return item.appid == steamplayer.gameid;
});
sgameh = parseFloat(fgame[0].playtime_forever / 60).toFixed(2);
console.log(sgameh) // THIS WORKS, BUT IT ISN'T WHAT I WANT
})
console.log(sgameh) // SHOULD RETURN A NUMBER, BUT RETURN Nessun gioco
您的代码工作正常,并且您的
sgameh
变量会按照您的要求进行修改。请求
函数是异步的,因此
console.log(sgameh) // SHOULD RETURN A NUMBER, BUT RETURN Nessun gioco
被执行之前
console.log(sgameh) // THIS WORKS, BUT IT ISN'T WHAT I WANT
您的代码工作正常,并且您的
sgameh
变量会按照您的要求进行修改。请求
函数是异步的,因此
console.log(sgameh) // SHOULD RETURN A NUMBER, BUT RETURN Nessun gioco
被执行之前
console.log(sgameh) // THIS WORKS, BUT IT ISN'T WHAT I WANT
看起来
sgameh
有两个作用域。因此,这两个console.log语句都是基于变量的两个不同范围返回值。因此,即使使用request,它的工作方式也与答案中的类似?看起来sgameh
有两个范围。因此,这两个console.log语句都是基于变量的两个不同作用域返回值。因此,即使在有请求的情况下,它也会像答案一样工作?那么,我应该如何调整它?这里有一个好的@Hamms建议,那么我应该如何调整它?这里有一个好的@Hamms建议