Я делаю панель управления криптовалютой для проекта, и я совершенно новичок в 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();
})
Идея на моем внешнем интерфейсе, у меня есть кнопка, которая при нажатии делает запрос к API CoinAPI, получая все зарегистрированные активы и текущие значения. Я не совсем уверен, как я должен отправлять эти данные обратно на мой интерфейс в качестве ответа. Итак, я попытался извлечь данные ответа из JSON, возвращаемого строкой https.request
. У меня есть массив данных data = []
, как вы можете видеть в верхней части моего кода.
Первоначально мой запрос был настроен так:
const request = https.request(options, response => {
, но когда я попытался поставить sh d
на data
, я вошел в систему, и массив данных был опорожнить. Это имеет смысл, массив data
выходит за рамки функции запроса, поэтому данные не обновляются. Но когда я попытался передать data
в функцию, я допустил ошибку.
По сути, я хочу иметь возможность отправить данные JSON обратно в мой интерфейс после отправки запроса в CoinAPI. Если я сделаю process.stdout.write(d)
в моем https.request
обратном вызове, я действительно вижу, как возвращаются данные coinapi. Я просто не знаю, как отправить его на фронт как часть моего ответа.