Node.js 存储GET请求中的数据以便稍后在节点JS中使用
假设我们有一个执行GET请求的函数Node.js 存储GET请求中的数据以便稍后在节点JS中使用,node.js,get,Node.js,Get,假设我们有一个执行GET请求的函数 var http = require("http"); var http = require('https'); function summonerstats(region,name,param){ var options = { host: region+'1.api.riotgames.com', path: '/lol/summoner/v3/summoners/by-name/'+name+'?api_key=RGAPI-05ccfd5
var http = require("http");
var http = require('https');
function summonerstats(region,name,param){
var options = {
host: region+'1.api.riotgames.com',
path: '/lol/summoner/v3/summoners/by-name/'+name+'?api_key=RGAPI-05ccfd5f-24d8-44ea-98b2-4dc00dd075b1'
};
var req = http.get(options, function(res) {
var bodyChunks = [];
res.on('data', function(chunk) {
bodyChunks.push(chunk);
}).on('end', function() {
var body = Buffer.concat(bodyChunks);
var data=JSON.parse(body);
if (param!=null){
data=data[param];
}
return(data);
})
});
req.on('error', function(e) {
console.log('ERROR: ' + e.message);
});
}
summonerstats("euw","CD%20REBI");
console.log(data);
为什么不定义数据?知道它是在函数中定义的,如果我们在console.log中定义它,它将返回一个值
http
,这是一个异步操作。因此,当您执行console.log(data)
时,它不会具有GET
调用所需的值
为了在其他地方使用结果,您应该将http调用包装为承诺调用。然后使用调用的解析值
可以找到更多的阅读资料