函数nodejs外部的变量

时间:2019-12-22 12:29:44

标签: javascript node.js

如何从函数外部的变量中获取数据? 下面是代码,在注释中,我对我的意思进行了描述。

var url = 'http://localhost/cron/temp.php';

request.get({
    url: url,
    json: true,
    headers: {'User-Agent': 'request'}
  }, (err, res, data) => {
    if (err) {
      console.log('Error:', err);
    } else if (res.statusCode !== 200) {
      console.log('Status:', res.statusCode);
    } else {
      // data is already parsed as JSON:
      console.log(data);

      var temp = data; // This var

    }
});


 console.log(temp); // How to get here?


1 个答案:

答案 0 :(得分:0)

这不起作用

 console.log(temp); // How to get here?

因为从站点request.get请求数据需要一些时间,所以这是一个异步调用。我们不知道请求何时完成。因此,javascript引擎开始在request.get的{​​{1}}旁边执行语句,而此时console.log(temp); // How to get here?尚未定义。

执行此操作的正确方法是创建一个函数,该函数将执行您要对数据执行的任务。喜欢:

temp

并在const printData = (data) => { console.log(data) } 的回调中调用此函数。您可以访问request.get的位置。