Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Https节点模块未在函数外部保存变量_Node.js_Https - Fatal编程技术网

Node.js Https节点模块未在函数外部保存变量

Node.js Https节点模块未在函数外部保存变量,node.js,https,Node.js,Https,所以我一直在尝试从API中获取一些json信息,但是当我尝试获取json对象并将其分配给变量时,它就是不起作用 var info = []; https.get('https://br1.api.riotgames.com/lol/summoner/v4/summoners/by-name/sumname?api_key=', (res) => { info.push(res.toString()); res.on('data', (d) => { info.pu

所以我一直在尝试从API中获取一些json信息,但是当我尝试获取json对象并将其分配给变量时,它就是不起作用

 var info = [];

https.get('https://br1.api.riotgames.com/lol/summoner/v4/summoners/by-name/sumname?api_key=',
(res) => {
  info.push(res.toString());
  
 res.on('data', (d) => {
  info.push(d.toString());
 });
 
 res.on('end', () =>{
   console.log(info);
 });
});

console.log(info);
<code>

最近,当我开始进行GETAPI调用时,实际上我也遇到了类似的问题。我怀疑问题在于-- https.get将返回一个承诺。您需要先解决承诺,然后才能在中获取数据。请参阅31piy的以下帖子


这可能会有帮助

侦听响应对象上的数据事件,推送数组中的每个块,等待结束事件,并使用
info.concat().toString()
其异步性从数组块构建一个完整的响应,因此您必须等待响应完成
https.get
返回请求流,您必须对其调用
.end()
,以完成/结束请求并开始接收响应。
https.get
不返回承诺。它返回一个请求对象(流)