如何将变量传递给使用 Puppeteer 评估异步函数的评估函数?

时间:2021-05-18 15:51:54

标签: javascript node.js async-await puppeteer

我正在使用 Puppeteer。传递的变量不起作用。我需要在浏览器的上下文中使用这个变量。这是代码的精简版:

let currentPost = 1;

await page.evaluate(async (currentPost) => {
    await new Promise((currentPost, resolve, reject) => {
        
        var timer = setInterval(() => {

            console.log(currentPost);
            resolve();
            
        }, 100);

    }); 

}, currentPost); 

1 个答案:

答案 0 :(得分:3)

Promise 接受两个参数:resolve 和 reject。删除当前的 Post arg,它将按预期工作。

let currentPost = 1;

await page.evaluate(async (currentPost) => {
    await new Promise((resolve, reject) => {
        
        var timer = setInterval(() => {

            console.log(currentPost);
            resolve();
            
        }, 100);

    }); 

}, currentPost);