请求函数中的NodeJS全局变量

时间:2018-11-28 08:12:06

标签: javascript node.js request

我目前有以下代码:

F.split()

但是它总是只输出F= F.split() for word in F: if 'http' in F: print(word.encode('utf8')) 。当我在请求函数中使用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(); 时,它可以工作。但是,当我像上面那样使用它时,在另一个函数中它不起作用。即使我使用了全局变量。

提前谢谢!

2 个答案:

答案 0 :(得分:1)

  

这应该可以在您的请求回调中调用您的函数。

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

答案 1 :(得分:1)

使用global不好的做法。但是如上所述,在回调中调用getBTCItemPrice()将达到您的目的。