NodeJS wait fn(浏览器)是做什么的?

omvjsjqw  于 2023-01-04  发布在  Node.js
关注(0)|答案(1)|浏览(81)

我正在寻找用并行化加速puppeteer的方法。我遇到了https://advancedweb.hu/how-to-speed-up-puppeteer-scraping-with-parallelization/,它看起来很有趣。它有:

const withBrowser = async (fn) => {
const browser = await puppeteer.launch({/* ... */});
try {
    return await fn(browser);
} finally {
    await browser.close();
}
}

我不明白第四行的fn(浏览器),有人能解释一下吗?

cnjp1d6j

cnjp1d6j1#

该站点显示了withBrowser的示例调用:

await withBrowser(async (browser) => {
    for (const url of urls) {
        const result = await withPage(browser)(async (page) => {
            await page.goto(url);

            // run test code
            return ...;
        });

        results.push(result);
    }
});

简而言之,它只是一个函数,它将Puppeteer浏览器作为参数,并执行一些异步操作,返回Promise。该页面认为,通过将代码的“肉” Package 在withBrowser函数中,可以很容易地确保浏览器在所有操作完成后得到正确处理。

相关问题