0

我是 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());
                })

            });
        };
4

0 回答 0