如何检查整个搜索结果是否完整?

问题描述

var a = 1;

var urlList = [];
            var imagesList = [];
            var url = 'https://www.freepik.com/';

const tasks = new Listr([
    {
        title: 'Preparation',task: () => {
            urlList.push(url);
            const page = cheerio.load(url);
        }
    },{
        title: 'Extracting all Image links',task: () => {
            request(url,(error,response,html) => {
                if (!error && response.statusCode == 200) {
                        const $ = cheerio.load(html);
                        $('body').find('img').each(function (index,element) {
                            a++;
                            imagesList.push($(element).attr('src'));
                            console.log('<<'+$(element).attr('src')+'>>' + a);
                            
                        });
                    
                    }
                });
                
            console.log('Image search over');
        }
    },{
        title: 'Extracting all URLs',html) => {
                if (!error && response.statusCode == 200) {
                    const $ = cheerio.load(html);
                    $('body').find('a').each(function (index,element) {
                        console.log('||'+$(element).attr('href')+'||');
                        urlList.push($(element).attr('href'));
                    });
                    
                    }
                });
        }
    },{
        title: 'Checking',task: () => {
            console.log(urlList);
            console.log('-----------------------------');
            console.log(imagesList);
        }
    }
]);

当我运行此代码并尝试打印我声明的两个列表时,它们没有要推送的值,但是在一段时间后console.log()打印了所有值。

我希望列表(imageList和urlList)具有找到的所有值,以便我可以进一步使用它们。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)