JavaScript делает переменные внутри функции глобальной - PullRequest
0 голосов
/ 10 декабря 2018

Я новичок в Java Script и вот что я застрял.Я пытался сделать переменную внутри моей функции глобальной, чтобы я мог использовать ее в других частях кода.Пока что ничего не работает.Ниже приведен мой код:

var json2="-";

var request = require("request");
var smallpie1 = 
"https://s3.amazonaws.com/vecareclientjson/user1/predictions.json";

var pre = {rejectUnauthorized: false,
       url: smallpie1,
       method: 'GET',
       json: true
};
function test1(){
    request(pre,function (error,response,body){
        json2 = JSON.stringify(body);
        console.log(json2);
    });
};
console.log(json2);

Output:
-
[Done] exited with code=0 in 0.231 seconds

Я ожидал, что содержимое в json перезапишет объект json2.Цель состоит в том, чтобы сделать объект json2 внутри функции test1() глобальным.

Ответы [ 3 ]

0 голосов
/ 10 декабря 2018

Как говорят другие участники, вы должны запустить функцию test1().Вы можете сделать это, добавив его в конец кода, прежде чем регистрировать переменную json2, например:

var json2="-";

var request = require("request");
var smallpie1 = 
"https://s3.amazonaws.com/vecareclientjson/user1/predictions.json";

var pre = {rejectUnauthorized: false,
       url: smallpie1,
       method: 'GET',
       json: true
};
function test1(){
    request(pre,function (error,response,body){
        json2 = JSON.stringify(body);
        console.log(json2);
    });
};

test1(); // Here you call the function, which will modify json2
console.log(json2); // Here you print json2 current value
0 голосов
/ 10 декабря 2018

Запустите функцию test1 перед консолью.

0 голосов
/ 10 декабря 2018

Похоже, вы еще не запустили функцию.

...