Node.js将回调值分配给全局变量

时间:2017-11-24 17:31:51

标签: javascript node.js

我正在为一些网站发出Http请求,并且正在做出一些回复

var noOfPages;

const https = require('https');

https.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY', (resp) => {
  let data = '';

  // A chunk of data has been recieved.
  resp.on('data', (chunk) => {
    data += chunk;
  });

  // The whole response has been received. Print out the result.
  resp.on('end', () => {
    console.log(JSON.parse(data).explanation);
    data = JSON.parse(data);
    noOfPages = data.no_of_pages;
  });

})

我能够在闭包内使用它,但无法访问该块之外的变量。任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:0)

这有点倒退,因为您不知道何时填充noOfPages

为什么不在分配线上依赖noOfPages的代码? 即:将noOfPages = data.no_of_pages;更改为使用data.no_of_pages

的内容