如何从异步函数(javascript)返回值?

时间:2021-07-24 14:17:47

标签: javascript async-await promise

我尝试制作爬虫模块,但无法获取返回值。

.then() 没有用,因为它本身就可以工作。我必须从 .then() 中得到结果。

我尝试使用 await 但它没有用。

const request = require("request");
const cheerio = require("cheerio");


let data = new Array();

const getHTML = async(url) => {
    
    request(url, (error, response, body) => {
        if (error) throw error;
        let $ = cheerio.load(body);
        $('body .web-results-list .web-result').each(function (index, elem){  
            let title = $(elem).find('.web-result-title').text();
            let linkadd = $(elem).find('.web-result-url').text();
            let content = $(elem).find('.web-result-description').text();
            data.push([title, linkadd, content]);
            //console.log(title);
            //console.log(linkadd);
            //console.log(content);
        })      
    }
    );
    return data
}

const func = async() => {
    data = await getHTML("https://www.search.com/web?q=apple");
}

func();
console.log(data);

控制台结果 = []

我该如何解决?

0 个答案:

没有答案