在Node.js中循环异步函数

亚历克斯·琼斯

所以这是我的问题。在下面的函数中,我想使用puppeteerjs从网站上获取一些数据。该功能在网站上搜索产品,其名称来自mongodb数据库。所以这是我的问题。我想通过从mongo获得的名称数组来循环该函数。因此,如果函数一次完成,它将再次从数组中的下一个名称开始,直到数组中没有其他内容为止。

async function scrape() {
    const browser = await puppeteer.launch({
        headless: false
    });
    const page = await browser.newPage();
    await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36');
    await page.goto(dealer);
    await page.type('.Search-bar-text-input', arrayOfArticles[i]);
    await page.click('.Embedded-search-button')
    await page.waitFor('.BuyingOptions-total-price');

    const result = await page.evaluate(() => {
        let path = '.BuyingOptions-total-price';
        let price = document.querySelector(path).innerText;

        return price;
    });

}

所以我本来只是想这样做:

for (var i = 0, len = arrayOfArticles.length; i < len; i++){

但据我所知,它不适用于异步功能。如何为我的功能归档相同的文件?

代号

你可以稍加修改

return page.evaluate(() => {
    let path = '.BuyingOptions-total-price';
    let price = document.querySelector(path).innerText;

    return price;
});

//----------------

(async () => {
    for (var i = 0, len = arrayOfArticles.length; i < len; i++){
        const result = await scrape(arrayOfArticles[i]);
    }
})()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 JavaScript/node js 中的 for 循环中调用异步函数

在node.js中异步循环

在异步函数Node.Js中调用的异步函数

循环以在Node.js Sequelize中获取异步数据

Node.js - 承诺循环类中的异步方法

Node.js异步循环,下一个循环之前从函数进行回调

正确的过程以在node.js中调用多个异步函数

如何从 node.js 中的异步函数返回值

如何在Node.js中显示异步函数的结果

如何在Node.js中处理异步函数

在异步函数内写入 Node.JS 中的文件

如何在Node.js中处理异步函数

如何在具有异步查询功能且仅在回调函数中修改了循环条件的Node JS中的while循环中使用条件?

Node.js For循环异步请求

Node.js 异步函数并行执行?

在Node.js中完成for循环后如何运行函数?

如何在回调函数Node JS中打破for循环

即使等待位于 Node.js 中的异步函数中,如何修复“await 仅在异步函数中有效”?

如何在Node.js或Javascript中将异步函数调用包装到同步函数中?

在node.js中完成异步函数后如何运行函数?

javascript-如何等待node.js中的异步循环

如何在 node.js 中的异步和条件循环中执行嵌套查询

Node.js:异步嵌套回调在for循环的每次迭代中均不起作用

异步中代码执行的顺序等待在Node.js中的函数中无法正常工作?

尝试将会话注入到Node.js中异步函数内的请求主体中

Node.js 中异步包的 .each() 方法中的回调函数

从异步函数向外部函数Node js返回值

Node.JS函数返回异步回调函数的值

在node-js中异步/等待获取

TOP 榜单

热门标签

归档