nodejs cheerio 返回 undefined 虽然它找到了一个文本

时间:2021-01-08 18:04:08

标签: node.js cheerio

我想搜索一个词和链接。如果找到了,那么我想返回链接。如果我将其输出到 console.log,一切正常。如果我创建一个对象,并将链接添加到该对象,如果我返回它,那么我得到 undefined。为什么? Cheerio 成功找到了我的词(我用 console.log 测试过)

我想将找到的链接添加到一个对象中。但它不起作用

'use strict';

const superagent = require('superagent');

const cheerio = require('cheerio');

const email = domain => {
    const email_obj = {
        email_exists: false,
        email_link: false
    };

    superagent
    .get(domain)
    .end((err, res) => {
        let $ = cheerio.load(res.text);
        let links = $('a');

        $(links).map((i, link) => {
            const data = $(link).text().toLocaleLowerCase().trim();
            if (data.includes('e-mail') && $(link).attr('href') != '' && $(link).attr('href') != null) {
                email_obj.imprint_exists = true;
                email_obj.imprint_link = $(link).attr('href');
                console.log($(link).attr('href'));
            }
        });
    });
    return email_obj;
}

module.exports = email;

0 个答案:

没有答案