我是js和nodejs的初学者。我正在编写一个简单的程序,它在request
和cheerio
模块的帮助下加载和解析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());
})
});
};