我正在为一个项目制作一个加密货币仪表板,我对 Node 和 Express 完全陌生。这是我目前拥有的
app.get('/search', function(req,res){
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(req.url);
data = []
var options = {
"method": "GET",
"hostname": "rest.coinapi.io",
"path": "/v1/assets",
"headers": {'X-CoinAPI-Key': 'MY_API_KEY_HERE'}
};
const request = https.request(options, (data, response) => {
response.on('data', d => {
data.push(d);
})
});
console.log(data);
request.end();
res.end();
})
这个想法在我的前端,我有一个按钮,当点击它时,将向 CoinAPI api 发出请求,获取所有报告的资产和当前值。我不太确定我应该如何将该响应数据作为响应发送回我的前端。https.request
因此,我尝试从线路返回的 JSON 中提取响应数据。data = []
正如您在代码顶部看到的那样,我有一个数据数组。
我最初的请求设置如下:
const request = https.request(options, response => {
但是当我尝试推送时,我d
在data
控制台登录并且数据数组为空。这是有道理的,data
数组超出了请求函数的范围,因此数据不会更新。但是当我试图传入data
函数时,我出错了。
基本上,我希望能够在向 CoinAPI 发出请求后将 JSON 数据发送回我的前端。如果我process.stdout.write(d)
在https.request
回调中这样做,我确实会看到 coinapi 数据回来了。我只是不知道如何将它作为我的响应的一部分发送到前端。