我是 js 和 nodejs 的初学者。我正在编写一个简单的程序,它在模块的帮助下加载request
和解析 url 数组。cheerio
解析数组需要很长时间,其中包含大约 700 个 url,大约 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());
})
});
};