【发布时间】:2019-10-17 13:46:51
【问题描述】:
我正在尝试从 resp.on 函数的 get 请求中传递数据。我想使用 'var url' 发出一个单独的 get 请求,从中我将再次解析数据。我能够从函数内部 console.log 变量但不能返回(或从外部访问)。这似乎是一个范围界定或异步问题。
const https = require('https');
https.get('https://collectionapi.metmuseum.org/public/collection/v1/objects', (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', () => {
var json_data = JSON.parse(data);
var total = json_data.total
var random_objectID = Math.floor(Math.random()*total)
var url = 'https://collectionapi.metmuseum.org/public/collection/v1/objects/' + random_objectID
console.log(url);
});
}).on("error", (err) => {
console.log("Error: " + err.message);
})
//'url' becomes unknown here. I want to pass it to another get request.
【问题讨论】:
-
因为它超出范围尝试在之前声明它
标签: javascript node.js