如何在节点js中减少使用请求模块解析URL的执行时间?

时间:2016-05-15 12:32:07

标签: javascript node.js parallels requestjs

我是js和nodejs的初学者。我正在编写一个简单的程序,它在requestcheerio模块的帮助下加载和解析URL数组。我花了很长时间来解析数组,其中包含大约700个网址,大约40秒。所以,我正在寻找一些可以帮助我提高执行速度的东西。我使用Parallel尝试了map模块,但由于某些未知原因导致我的request函数未定义...我也听说过异步模块,但据我所知js仍然保持单线程。有人可以给我建议使用什么来减少执行时间吗?

这是我的尝试:

var p = new Parallel(Arr);
p.map(GetGenres);`

var GetGenres =  function(value){

        request(value.url, function(err, res, body){

            var $ = cheerio.load(body, { xmlMode: true });
            value['genres'] = [];
            $('div').has('span:contains("Genres:")')
                .children('a')
                .each(function(i, element){
                    value.genres.push($(this).text());
                })

            });
        };

0 个答案:

没有答案