node.js를 배우려면 mongoDB에 저장된 일부 rss 피드를 가져 와서 처리하고 작은 피드를 만든 다음 날짜순으로 단일 피드를 만드십시오.빠른 요청이 두 번 호출되었습니다.
~ 1000 개의 블로그 항목으로 ~ 50 개의 RSS 피드 목록을 파싱하므로 전체 내용을 파싱하는 데 꽤 길기 때문에 다음 피드를 가져 와서 모든 피드를 가져오고 파싱하려면 충분한 시간이 필요합니다.
모든 것이 잘 실행되지만 요청은 두 번 호출됩니다. (나는 wireshark로 확인했다, 나는 그것이 여기 favicon에 관하여다는 것을 생각하지 않는다).
나는 정말로 그것을 얻지 못한다.
여기에서 직접 시험해 볼 수 있습니다 : http://mighty-springs-9162.herokuapp.com/feed/mde/20 ("mde"에 대한 최근 20 개 기사가있는 RSS 피드를 만들어야합니다). https://github.com/xseignard/rss-unify
그리고 우리는 흥미로운 비트에 초점을 맞출 경우 :
코드는 여기에
나는 경로는 다음과 같이 정의 :
:app.get('/feed/:name/:size?', topics.getFeed);
그리고 topics.getFeed
이 같다
function getFeed(req, res) {
// 1 minute timeout to get enough time for the request to be processed
req.connection.setTimeout(60*1000);
var name = req.params.name;
var callback = function(err, topic) {
// if the topic has been found
if (topic) {
// aggregate the corresponding feeds
rssAggregator.aggregate(topic, function(err, rssFeed) {
if (err) {
res.status(500).send({error: 'Error while creating feed'});
}
else {
res.send(rssFeed);
}
},
req);
}
else {
res.status(404).send({error: 'Topic not found'});
}};
// look for the topic in the db
findTopicByName(name, callback);
}
아무 것도 없지만 여전히이 getFeed 함수는 두 번 호출됩니다.
무엇이 잘못 되었나요? 어떤 생각?
가장 일반적인 문제는 어딘가에 사용하는 것을 잊었다입니다 'return' –
안녕하세요 mvbl이-FST, 난 당신이'''return'''을 잊고 무엇을 의미하지 않습니다. 더 설명해 주시겠습니까? –
위와 관련해서는 잘못된 것일 수 있습니다.이 코드에서는 아무 것도 두 번 실행하지 않습니다 (favicon.ico는 제외하지만 질문이 없다고 말했음). 내가 할 수있는 유일한 방법은 return findTopicByName (name, callback);'입니다. 그러나 그것이 도움이되지 않을 것이라고 확신합니다. –