Глобальная переменная NodeJS в функции запроса - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть следующий код:

var request = require('request');

var variable1;

request('https://api.coindesk.com/v1/bpi/currentprice/EUR.json', function (error, response, body){
    var btceurpricejson = (body);
    var obj = JSON.parse(btceurpricejson);
    variable1 = (obj.bpi.EUR.rate_float);
});

function getBTCItemPrice() {
        console.log(variable1);
};

getBTCItemPrice();

Но он всегда выводит только undefined.Когда я использую console.log(variable1); в функции запроса, это работает.Но когда я использую это как выше, в другой функции, это не работает.Хотя я использую глобальную переменную.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Это плохая практика, чтобы использовать глобальный.Но, как сказано выше, вызов getBTCItemPrice() внутри функции обратного вызова будет служить вашей цели.

0 голосов
/ 28 ноября 2018

Это должно работать, вызывайте вашу функцию в обратном вызове вашего запроса.

var request = require('request');

var variable1;

request('https://api.coindesk.com/v1/bpi/currentprice/EUR.json', function (error, response, body){
    var btceurpricejson = (body);
    var obj = JSON.parse(btceurpricejson);
    variable1 = (obj.bpi.EUR.rate_float);
    getBTCItemPrice();
});

function getBTCItemPrice() {
        console.log(variable1);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...