Я последовал примеру
http://net.tutsplus.com/tutorials/javascript-ajax/how-to-scrape-web-pages-with-node-js-and-jquery/comment-page-1/
, и это сработало очень хорошо.
Но в моем случае, когда пользователь отправляет форму, мне нужно отказаться большечем одна страница.
Мой код выглядит так
app.get('/lookup', function (req, res) {
var pagesToScrap = [];
var callbackCounter = 0;
var items = [];
var callback = function(){
if(pagesToScrap == callbackCounter){
res.render('list', {
title: "Hello World",
items: items
});
}
callbackCounter++;
}
var pageAResolver = function() {
request.get({
uri: 'http://a.com',
//...
items.push[jsonData];
callback();
);
}
var pageBResolver = function() {
request.get({
uri: 'http://b.com',
//...
items.push[jsonData];
callback();
);
}
var pageCResolver = function() {
request.get({
uri: 'http://c.com',
//...
items.push[jsonData];
callback();
);
}
pagesToScrap[0] = {url: "http://a.com", resolver: pageAResolver}
pagesToScrap[1] = {url: "http://b.com", resolver: pageBResolver}
pagesToScrap[2] = {url: "http://c.com", resolver: pageCResolver}
for(var i = 0; i < pagesToScrap.length; i++){
pagesToScrap[i].resolver();
}
});
Когда все запросы возвращаются, я отправляю ответ в браузер.Иногда это может занять много времени.Какова лучшая стратегия без кэширования, чтобы быстрее показывать эти данные?
Я думаю о socket.io, может быть, я смогу отправлять данные одновременно?Ребята, что вы об этом думаете?
Приветствия, Пабло Кантеро