У меня возникли некоторые проблемы с Node.js.
Я пытаюсь загрузить api newsapi.org для получения заголовков главных новостей.Когда я нажимаю 'http://localhost:8082/news/api/tech-crunch',, он попадает в раздел' / news / api /: newsName 'внутри оператора переключателя "tech-crunch".
Он отображает новости в первый раз, но вскорепри загрузке я получаю эту «ошибку: невозможно установить заголовки после их отправки».
Не могли бы вы помочь мне решить эту проблему?
Ниже приведен мой код для сервера.js:
var request = require('request');
var express = require('express');
var app = express();
var cors = require('cors');
let __homeglobals = [];
app.use(cors({credentials:true, origin: 'http://localhost:8080'}));
app.set("jsonp callback", true);
//fetch news by category
app.get('/news/api/:newsName', function(req, res) {
const API_KEY = '6c78608600354f199f3f13ddb0d1e71a';
let data = '';
const techCrunchURL = `https://newsapi.org/v2/top-headlines?sources=techcrunch&apiKey=${API_KEY}`
const businessInsiderURL = `https://newsapi.org/v2/top-headlines?sources=business-insider&apiKey=${API_KEY}`
let fetchedTechCrunchNews = {
totalResults: '',
articles: ''
};
switch(req.params.newsName) {
case 'tech-crunch':
request(techCrunchURL, function(err, response, html) {
let formattedData = JSON.parse(response.body);
data = response.body;
res.setHeader('Content-Type', 'application/json');
res.send(data);
});
case 'business insider':
request(businessInsiderURL, function(err, response, html) {
let formattedData = JSON.parse(response.body);
data = response.body;
res.setHeader('Content-Type', 'application/json');
res.send(data);
});
default:
data = 'Please type in correct news source';
break;
}
})
var server = app.listen(8082, function () {
var host = server.address().address;
var port = server.address().port;
console.log("Example app listening at http://%s:%s", host, port);
});